[Java] HashSet 사용 방법 및 개념

2021. 6. 28. 18:37·Programming/Java Spring
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)

 

HashSet (Java SE 16 & JDK 16)

Type Parameters: E - the type of elements maintained by this set All Implemented Interfaces: Serializable, Cloneable, Iterable , Collection , Set Direct Known Subclasses: JobStateReasons, LinkedHashSet This class implements the Set interface, backed by a h

docs.oracle.com

 

 

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
'Programming/Java Spring' 카테고리의 다른 글
  • [Java] Integer List int 배열로 변환하는 방법
  • [Java] Java 8 LocalDateTime 직렬화 역직렬화 오류 해결 방법
  • [알고리즘 / Java] 선택 정렬(Selection Sort)에 대해서
  • [Java] 컬렉션 프레임워크에 대한 이해
이프로그
이프로그
리뷰, 개발, 일상을 기록하는 블로그
    반응형
  • 이프로그
    이프로그의 IT이야기
    이프로그
  • 전체
    오늘
    어제
    • 분류 전체보기 (158)
      • Programming (111)
        • C# WPF (11)
        • Java Spring (16)
        • JavaScript & TypeScript (5)
        • Git (9)
        • Database (5)
        • Etc (42)
      • 생활상식 (24)
      • 리뷰 (8)
      • 주식 (12)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      dynamicresource
      자바스크립트 트릭
      Apache Kafka
      javascript
      데이터 바인딩
      협업 도구
      분산 메시징 시스템
      데이터 파이프라인
      이슈 트래킹
      주식투자
      투자
      투자전략
      재테크
      소프트웨어 개발
      C# WPF
      마이크로서비스
      ES6
      서버 관리
      Kubernetes
      WPF
      데이터베이스 성능
      rest api
      XAML
      docker
      클라우드 컴퓨팅
      클라우드 네이티브
      DevOps
      java8
      웹 개발
      Java
    • 최근 댓글

    • 최근 글

    • 250x250
    이프로그
    [Java] HashSet 사용 방법 및 개념
    상단으로

    티스토리툴바