프로그래밍 언어/자바

자바 Hash Set 사용법

hyun2371 2023. 4. 21. 16:52

 

Hash Set은  ArrayList와 달리 순서 보장이 안되고, 중복값을 제외해준다.

Hash Set은 ArrayList와 마찬가지로 Collection의 한 종류여서 사용법이 유사하다.

 

Collection의 사용법을 자세히 알아보고 싶으면 하단의 게시물을 참조하자.

 

자바 ArrayList 사용법

선언하기 ArrayList list = new ArrayList(); ArrayList list = new ArrayList(); 값 추가하기 list.add("요소"); *여기서 list는 ArrayList 변수명이다. list.add("라이언"); list.add("춘식"); list.add("무지"); list.add("프로도"); 전체

hyun-keepdeving.tistory.com

 

 

HashSet을 선언하고, 데이터를 추가해보자

HashSet<String> set = new HashSet<>();

set.add("치킨");
set.add("초밥");
set.add("치킨");
set.add("삼겹살");
set.add("초밥");
set.add("치킨");

 

foreach로 출력을 해보면 중복값이 제거되어 출력된다.

for (String s : set){
    System.out.println(s);
}

 

Hash set에 초밥이 포함되어 있으면 초밥을 삭제해보자

if (set.contains("초밥")){
            set.remove("초밥");
 }

 

 

이번에는 Integer 타입의 Hash Set을 추가해보자

HashSet<Integer> intSet = new HashSet<>();
intSet.add(15);
intSet.add(13);
intSet.add(7);

 

출력해보면, 입력한 순서대로 데이터가 출력되지 않는다.

for (int i : intSet){
    System.out.println(i);
}

 

순서 보장이 되도록 바꾸고 싶다면, LinkedHashSet을 사용하면 된다.

LinkedHashSet은 아래와 같이 선언한다.

HashSet<타입> 변수명 = new LinkedHashSet<>();