정리 내용
1. Set 인터페이스란?
2. Set 인터페이스의 메서드 종류
3. HashSet, TreeSet
Set 인터페이스는 순서가 없고, 중복을 허용하지 않는다.
List 인터페이스와는 반대되는 개념을 가진다.

Set 인터페이스의 메서드 = Collection 인터페이스의 메소드와 동일
|
메서드
|
설명
|
|
boolean add(Object o)
boolean addAll(Collection c) |
객체 혹은 객체들을 Collection에 추가
|
|
void clear()
|
Colleciton의 모든 객체를 삭제
|
|
boolean contains(Object o)
boolean containsAll(Collection c) |
객체 혹은 객체들이 Collection에 포함되어 있는지를 확인
|
|
boolean equals(Object o)
|
동일한 Collection인지 비교
|
|
int hashCode()
|
Collection의 hash code를 반환
|
|
boolean isEmpty()
|
Collection이 비어있는지 확인
|
|
Iterator iterator()
|
Collection의 Iterator를 얻어서 반환
|
|
boolean remove(Object o)
|
지정된 객체를 삭제
|
|
boolean removeAll(Collection c)
|
지정된 Collection에 포함된 객체들을 삭제
|
|
boolean retainAll(Colleciton c)
|
지정된 Collection에 포함된 객체만을 남기고 다른 객체들은 Collection에서 삭제 /
이 작업으로 Collection에 변화가 있으면 true, 없다면 false |
|
int size()
|
Collection에 저장된 객체의 개수를 반환
|
|
Object[] toArray()
|
Collection에 저장된 객체를 객체배열(Object[])로 반환
|
|
Object[] toArray(Object[] a)
|
지정된 배열에 Collection의 객체를 저장해서 반환
|
※집합과 관련된 메서드(Collection에 변화가 있으면 true, 아니면 false를 반환)
|
메서드
|
설명
|
|
boolean addAll(Collection c)
|
지정된 Collection (c)의 객체들을 Collection에 추가한다.(합집합)
|
|
boolean containsAll(Collection c)
|
객체 혹은 객체들이 Collection에 포함되어 있는지를 확인한다.(부분집합)
|
|
boolean removeAll(Collection c)
|
지정된 Collection에 포함된 객체들을 삭제한다.(차집합)
|
|
boolean retainAll(Colleciton c)
|
지정된 Collection에 포함된 객체만을 남기고 나머지는 Collection에서 삭제한다.(교집합)
|
합집합이나, 차집합, 교집합 등을 구하고 싶을때는 관련된 HashSet, TreeSet으로 구하면 편리하다.
HashSet
- 순서를 유지하지않고 중복을 허용하지 않음
- Set 인터페이스를 구현한 대표적인 컬렉션 클래스
|
메서드
|
설명
|
|
HashSet(Collection c)
|
생성자
|
|
HashSet(int initialCapacity)
|
초기용량
|
|
HashSet(int initialCapacity, float loadFactor)
|
언제 용량을 늘릴것인지 설정 가능
|
TreeSet
- 범위 검색과 정렬에 유리한 컬렉션 클래스
- HashSet보다 데이터를 추가, 삭제에 시간이 더 걸림
'IT > JAVA' 카테고리의 다른 글
| Collection Framework - Map / JAVA (0) | 2026.01.05 |
|---|---|
| Collection Framework - List / JAVA (0) | 2026.01.05 |
| Stack, Queue / JAVA (0) | 2026.01.01 |
| Session, Cookie, JWT (0) | 2025.11.24 |