Programming/Java

[Java] HashSet 사용법과 주요 메소드

당닝 2021. 9. 20. 21:22
728x90
  • HashSet (java.util.hashSet)
    • new HashSet<값 제네릭>();
    • 인자값으로 용량과 사용률을 줄 수 있음 (HashMap과 동일)
    • 용량 : 해시 테이블의 갯수를 의미 (카테고리의 갯수라고 보면 됨, 기본 16)
    • 사용률 : 해시 테이블이 얼마만큼 다 차면 늘려줄 것인지 퍼센트를 기입 (기본 0.75)생성자
HashSet<String> hs = new HashSet<String>();​

 

 

 

  • 주요 메소드
    • .add(val): 값 추가, 정렬 없이 내부 로직에 맞는 위치에 저장됨, 중복값을 추가할 경우 변동 없음
    // 값 추가 hs.add("박"); hs.add("박"); hs.add("이"); hs.add("최"); System.out.println(hs); // [이, 박, 최]
    • .addAll(hs2): 제공한 다른 컬렉션의 값을 합쳐줌, 중복된 값은 무시
    // 컬렉션 추가 HashSet<String> hs2 = new HashSet<String>(); hs2.add("정"); hs2.add("김"); hs2.add("박"); hs.addAll(hs2); System.out.println(hs); // [김, 이, 박, 최, 정]
    • .contains(val): 제공한 값이 Set에 있는지 여부를 확인하여 true / false 반환
    • .remove()/.removeAll(): 제공한 값을 제거/제공한 컬렉션이 가진 모든 값을 찾아서 제거
728x90