백지부터 시작하는 이세계 코딩 생활
#hasNext( ) #Iterator #HashSet #toArray 본문
//접근지정자 public이 없다면 같은 클래스 내에서만 사용가능함.
// 포인트 연산자 : 객체접근 가능하게 해줌.
// *** 자신의 인스턴스를 지칭하는 this
// 객체가 매서드를 호출했을 때, 참고하고 있는 값이 this로 지칭되고 사용됨.
// 각각의 객체에서 이름이 같은 변수를 this를 통해 그때그때 불러서 사용하게 됨.
// pt01 을 호출하면 pt01의 x가 사용되고, pt02를 호출하면 pt02의 x값이 사용됨.
// public void setX(int x){ this.x = x; }
// 멤버필드와 매개변수 구분에 유의. : 표시는 this.x = x; 와 같이 사용하면 됨.
// this가 붙은 쪽이 멤버필드, 없는쪽이 매개변수.
// *** 생성자에서 호출할 때 this 를 사용하면 됨.
// cf. Super.x(멤버) 처럼 쓰면 상위클래스를 호출 할 수 있음. (부모클래스)
<import와 패키지 >
// "폴더" 개념이다. import와 패키지는,
// project 관리의 편의성을 위해 사용함.
// cf. 서버관리는 리눅스가 99%
// 패키지를 만들었을 때, 도메인은 반대로 만들어준다.(약속임), 클래스간의 충돌을 방지할 수 있음.
// 패키지가 다르면 import 해줘야함
// mvnrepository.com 공식적인 라이브러리 검색을 할 수 있음.
// java의 모든 클래스를 import할 때 : import java.lang.*;
// 다른 하위 패키지는 불러와지지 않음. 따로 불러와야함.
<컬렉션 클래스와 제네릭>
// set은 중복을 허용하지 않는다. (자동 중복처리를 필터링해줌)
// Iterator 인터페이스
// JAVA : DB와 Collection이 절반임. 없는 함수는 직접 만들어야 하지만.
// <ArrayList>
// 중복없이 나열가능하다.
// <VectorList>
package s0511_4;
import java.util.HashSet;
import java.util.Iterator;
public class TestSet {
public static void main(String[] args) {
//Set 구조의 객체 생성
HashSet set = new HashSet();
// HashSet 특징 : 중복값을 입력할 수 없다.
set.add("K");
set.add("K1");
set.add("K2");
set.add("KK");
set.add("K");
set.add("K1");
System.out.println(set.size()); //중복체크, 중복되지 않은 갯수들을 확인.
Iterator elements = set.iterator();
while(elements.hasNext()) { //자동으로 요소체크. index 자동 이동.
System.out.println(elements.next());
}
}//end
}//
package s0511_4;
import java.util.Random;
import java.util.HashSet;
public class TestLotto {
public static void main(String[] args) {
// HashSet으로 로또코드 만들기.
HashSet lotto = new HashSet();
Random rd = new Random();
while (lotto.size() < 6) {
lotto.add(1 + rd.nextInt(45)); //발생한 개수가 10개보다 작으면 자동정렬이 된다.
}
//배열속 값들 정렬하기.
// Collections.sort
System.out.println(lotto);
}// end
}//
package s0511;
import java.util.ArrayList;
import java.util.Scanner;
public class Ch13Ex08_Exmaple_2_ArrayList {
static int Select() {
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
return i;
}
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("W");
list.add("M");
list.add("S");
list.add("W");
list.set(2, "K");
list.remove(3);
// 리스트를 배열로 변환
String[] stringArray = new String[list.size()]; //문자열 타입의 배열 선언.
list.toArray(stringArray); // 리스트를 배열로 변환.
for (int i = 0; i < stringArray.length; i++) { //크기 자동 조정.
System.out.print(stringArray[i] + "\t"); //배열 형태로 프린트.
}
System.out.println();
}
}