728x90
반응형
HashSet이란?
HashSet은 중복해서 저장하지 않은 집합이라고 볼 수 있습니다.
HashSet<String> set = new HashSet<String>();
set.add("철수");
set.add("영수");
set.add("철수");
// 2출력
System.out.print(set.size());
위의 결과값은 2가 나옵니다. 만약 순서가 중요하시면 LinkedHashSet을 이용하시면 되고, 자동으로 정렬을 하고 싶다면 TreeSet을 이용하시면 됩니다.
TreeSet<String> set = new TreeSet<String>();
set.add("a");
set.add("c");
set.add("b");
while (iterator.hasNext()) {
String str = iterator.next();
System.out.println(str); // a, b, c 출력
}
일반적인 사용
HashSet의 경우 중복을 저장하지 않기 때문에 일별 누적 방문자 또는 중복을 허용하지 않는 알고리즘 문제를 풀 때 사용하시면 좋습니다.
HashSet을 사용하지 않는다면 중복을 허용하지 않는 값을 알기 위해서 for문과 배열의 조합으로 구현해야 하는데 차라리 오히려 복잡하고 잘못될 수 있는 경우가 발생할 수 있습니다.
Java에서 문서를 살펴보면 이미 고민했던 클래스와 인터페이스들을 찾아볼 수 있으니 공식문서 API를 살펴보면 좋을 것 같습니다.(https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/HashSet.html)
728x90
반응형
'Programming > Java Spring' 카테고리의 다른 글
[Java] Integer List int 배열로 변환하는 방법 (0) | 2022.01.25 |
---|---|
[Java] Java 8 LocalDateTime 직렬화 역직렬화 오류 해결 방법 (0) | 2021.07.24 |
[알고리즘 / Java] 선택 정렬(Selection Sort)에 대해서 (0) | 2018.03.05 |
[Java] 컬렉션 프레임워크에 대한 이해 (0) | 2017.09.19 |
[Java / 설치] Eclipse 설치 및 Apache Tomcat 설치 및 연동하기 (0) | 2017.08.16 |