보기전 컬렉션 프레임 워크1,2 참조
Set
Set 이란 한국말로 집합을 의미합니다. 즉, 값의 집합을 의미합니다.
사용형식
Set<String> set = new HashSet<String>();
앞서 배운 것과 마찬가지로 제네릭으로 타입을 지정해 줄 수 있습니다.
특징
Set<String\> set = new HashSet<String\>(); 를 선언하고
set.add("a");
set.add("a");
set.add("b");
set.add("b");
System.out.print(set.size());
위에 set의 사이즈는 몇이 출력될까요?
set의 사이즈는 분명 2가 나올 겁니다. 한 번 해보시기 바랍니다.
왜냐? 중복을 허용하지 않기 때문이죠 a는 한번만 들어가게 됩니다.
또한 순서는 어떻게 될까요? 분명 알 수 없습니다. hashCode 값을 알 수 있다면 순서를 알수 있지만 굳이 알아야 할 필요가 있을까요????
다양한 메소드들
set.add("apple"); : set의 값을 추가합니다 (중복X)
set.remove("apple"); : set에서 apple 을 삭제합니다.
set.size(); : set의 크기를 확인할 수 있습니다.
set.clear(); : set안 내용을 전부 삭제합니다.
set은 인덱스도 없고 Key 도 없다 그럼 반복은 어떻게??
반복자를 뜻하는 Iterator 를 사용해야 합니다.
그리고 .next() 를 사용해 값이 없을 때 까지 출력하면 됩니다.
반복형식
Iterator<데이터타입> iter = set.Iterator();
iter.next(); 를 사용합니다.
while(iter.hasNext()){
iter.next()
}
세련된 반복 방법 foreach 사용
for(Object data : hs1){
System.out.println(data);
}