Set 컬렉션
- List 컬렉션은 객체의 저장 순서를 유지하지만, Set 컬렉션은 저장순서가 유지되지 않습니다.
- Set 컬렉션은 수학의 집합과 비슷합니다.
- 순서와 상관이 없고 중복이 허용되지 않습니다.
- Set 컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있습니다.
Set 컬렉션에서 공통적으로 사용가능한 Set 인터페이스 메소드
- Set 컬렉션은 인덱스로 객체를 검색해서 가져오는 메소드가 없습니다.
- 전체 객체를 대상으로 한 번씩 반복해서 가져오는 반복자를 제공합니다.
- 반복자는 Iterator 인터페이스를 구현한 객체를 말합니다.
(하나의 객체를 가져올 때는 next() 메소드를 사용합니다.)
Set<String> set = ...;
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()) {
//String 객체 하나를 가져온다.
String str = iterator.next();
}
기능 | 콘텐츠 | 설명 |
객체 추가 | boolean add(E e) | 주어진 객체 저장 성공적이면 true,중복일경우 flase를 리턴 |
객체 검색 | boolean contains(Object o) | 주어진 객체가 저장되어 있는지 조사 |
boolean isEmpty() | 컬렉션이 비어있는지 조사 | |
Iterator<E> iterator() | 저장된 객체를 한 번씩 가져오는 반복자를 리턴 | |
int size() | 저장되어 있는 전체 객체수를 리턴 | |
객체 삭제 | void clear() | 저장된 모든 객체 삭제 |
boolean remove(Object o) | 주어진 객체 삭제 |
HashSet
- HashSet은 Set 인터페이스의 구현 클래스입니다.
- HashSet을 생성하기 위해서 아래와 같이 기본 생성자를 호출합니다.
- HashSet은 객체들을 순서 없이 저장하고 동일한 객체는 중복 저장하지 않습니다.
Set<E> set = new HashSet<E>();
예시)
package sec16.exam01;
import java.util.*;
public class HaschSetExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
Set<String> set = new HashSet<String>();
set.add("Java");
set.add("Python");
set.add("Spring");
set.add("SQL");
set.add("Java");
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
}
}
'학습단 > JAVA 학습단' 카테고리의 다른 글
20. 혼공자 20일차(선입선출 ,후입선출 컬렉션) (0) | 2023.08.10 |
---|---|
19. 혼공자 19일차(컬렉션 프레임 워크_3) (0) | 2023.08.09 |
17. 혼공자 17일차(컬렉션 프레임 워크) (0) | 2023.08.07 |
4주차 완료 (0) | 2023.07.28 |
16. 혼공자 16일차(스레드 제어) (0) | 2023.07.27 |