기본 개념
- HashSet은 자바의 java.util 패키지에 있는 클래스로, 집합을 구현
- 이 클래스는 Set 인터페이스를 구현하며, 중복된 요소를 허용하지 않는다.
- 내부적으로 HashMap을 사용하여 요소를 저장
주요 특징
- 중복 불허: 같은 값을 가진 요소는 한 개만 저장. 즉, 모든 요소가 유일하다.
- 순서 보장 없음: 요소들은 특정한 순서로 저장되거나 반환되지 않는다.
- null 값 허용: HashSet은 하나의 null 값을 저장할 수 있다.
- 높은 성능: 요소의 추가, 삭제, 검색 등의 연산이 빠르게 처리된다.
주요 메소드
- add(E e): 집합에 요소를 추가
- remove(Object o): 집합에서 지정된 요소를 제거
- contains(Object o): 집합에 특정 요소가 포함되어 있는지 확인
- size(): 집합에 저장된 요소의 수를 반환
- clear(): 집합의 모든 요소를 제거
- isEmpty(): 집합이 비어있는지 확인
선언 방식
HashSet<DataType> set = new HashSet<DataType>();
//초기 용량 지정
HashSet<String> setWithInitialCapacity = new HashSet<String>(10);
예제 코드
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
// 요소 추가
set.add("Apple");
set.add("Banana");
set.add("Cherry");
// 중복 요소 추가 시도
set.add("Apple");
// 요소 출력
System.out.println("HashSet: " + set);
// 요소 포함 여부 확인
if (set.contains("Banana")) {
System.out.println("Banana is in the set.");
}
// 요소 제거
set.remove("Cherry");
// 집합 크기 출력
System.out.println("Size of HashSet: " + set.size());
}
}
출력 결과
HashSet: [Apple, Cherry, Banana]
Banana is in the set.
Size of HashSet: 2
결론
HashSet은 중복을 허용하지 않는 집합을 구현할 때 매우 유용한 자바 컬렉션 클래스이다. 특히, 요소의 유일성이 중요하고 순서가 중요하지 않은 경우에 적합하다.
'Java' 카테고리의 다른 글
자바 Comparator (0) | 2024.01.24 |
---|