[Collection3] : Set

이수보🧑🏻‍💻·2022년 1월 13일
0

초급

목록 보기
22/25

보기전 컬렉션 프레임 워크1,2 참조

Set

Set 이란 한국말로 집합을 의미합니다. 즉, 값의 집합을 의미합니다.



사용형식
Set<String> set = new HashSet<String>();

앞서 배운 것과 마찬가지로 제네릭으로 타입을 지정해 줄 수 있습니다.


특징

  • Map과 마찬가지로 저장 순서를 유지하지 않습니다.
  • 중복 값을 허용하지 않아서 같은 Value 몇 번을 넣든 1번만 저장됩니다.
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);
}

0개의 댓글