본문 바로가기
IT/JAVA

Collection Framework - Set / JAVA

by dev-centralpark 2026. 1. 1.

정리 내용

 

1. Set 인터페이스란?

 

2. Set 인터페이스의 메서드 종류

 

3. HashSet, TreeSet

 


 

Set 인터페이스는 순서가 없고, 중복을 허용하지 않는다.

List 인터페이스와는 반대되는 개념을 가진다.

 

Set 인터페이스 상속계층도

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