HashSet

  • Set 인터페이스에서 지원하는 구현 클래스
  • 순서대로 입력되지 않고, 일정하게 유지되지 않습니다.
  • null 요소 허용
  • 중복을 허용하지 않음

 

 

 

중복을 걸러내는 과정
  • hashCode() 메서드를 호출해 코드를 얻음
  • 저장되어 있는 객체들의 해시 코드와 비교해 같은 해시 코드가 있는지 확인
  • 있다면 다시 equlas() 메서도르 두 객체를 비교
  • true 가 나오면 동일한 객체로 판단하고 중복 저장하지 않습니다.

 

* String 형에 대해서 중복을 걸러내는 과정의 특징

: 앞의 과정과 같은데, 다른 점은 String 클래스가 hashCode(), equals() 메소드를 재정의해서 같은 문자열일 경우,

  리턴값을 true 로 나오게 했기 때문입니다.

 

 

변수 선언 방법
  • hashSet<데이터 타입> 변수명 = new HashSet<데이터타입>();

   해당 데이터 타입형의 HashMap 데이터가 들어갑니다.

 

 

다양한 메서드들
  1. add
  2. remove
  3. clear
  4. size
  5. contains(찾고자 하는 값 )

 

 

예제

프로그래머스 [ 신고 결과 받기 ] 문제에서 사용될 수 있습니다.

 

https://tjdwns4537.tistory.com/97

 

신고 결과 받기

프로그래머스 문제: 신고 결과 받기 [ 문제 설명 ]  신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음

tjdwns4537.tistory.com

 

'JAVA' 카테고리의 다른 글

putIfAbsent  (0) 2022.08.11
Java의 이중 중괄호 초기화  (0) 2022.08.11
Stream  (0) 2022.08.10
HashMap  (0) 2022.08.10
백트래킹  (0) 2022.07.27

+ Recent posts