import java.util.HashSet; //List 방식중 하나인 HashSet을 사용하려고 import한거야
import java.util.Iterator; //반복하겠다는 의미를 가짐
public class SetDemo {
public static void main(String[] args) {
HashSet<Integer> A = new HashSet<Integer>();
//A라는 변수주머니를 만들거야 타입은 정수(Integer)이고
//HashSet은 List 방식중 하나로 타입을 지정해주지 않으면 Object로 지정되어 버리니까 Integer라고 굳이 써준거야
//위에처럼 <Integer>라고 적어주는걸 제너릭했다라고들 말한데..
A.add(1);
A.add(2);
A.add(2);
A.add(3);
//A라는 변수주머니에 1,2,2,3을 넣어 줄거야
//List 방식중 하나인 HashSet이니까 주머니에 담기는 변수의 개수는 문제가되지 않지..
Interator hi = (Iterator) A.iterator();
//A라고 언급한 변수주머니를 hi라고 정하고 주머니에 들어있는 변수들을 하나하나 출력할거야
while(hi.hasNext()) {
System.out.println(hi.next());
}
//출력결과는 1,2,3이 나온다?
//변수는 1,2,2,3 4개의 변수가 주머니에 들어있었는데?? 1,2,3 3개의 변수만 출력된거지?
//HashSet은 List방식이니까 변수가 중복되면 안돼!
//그래서 중복되는 2, 2 두개의 변수중 하나는 출력하지 못한거야
//당연히 HashSet 대신 Set방식중에 하나인 ArrayList로 수정해서 적용하면
//1,2,2,3 이렇게 4개의 변수가 출력된다~
★총평
전부 알면 좋겠지만
List - HashSet : 중복불가!
Set - ArrayList : 중복상관없음!
이렇게 연관된다는 것만이라도 알고 있자