JAVA - HashSet (2022-07-25)

2022. 7. 25. 13:483층 1구역 - 개발의 장/JAVA

1.HashSet??

ArrayList와 부류는 같지만 저장순서가 순서인 ArrayList와는 다르게

임의 순서로 저장된다. 그리고 중복값은 저장하지 않는다.

 

중복값을 저장하지 않는다는 이점은 있지만...

ArrayList에서 중복값을 제거하는 방법은 얼마든지 있기 때문에 

쓰이면 쓰이겠지만 그렇게 많이 쓰이지는 않겠다고 생각된다.

 

2. 예제

 

package hashSets;

import java.util.ArrayList;
import java.util.HashSet;

public class Ex01 {
	//HashSet은 중복 저장이 불가한 저장소를 이용하는데 사용은 함.
	//HashSet은 임의의 저장순서를 가짐.
	//그렇다고 실행 할때마다 변경 되는 건 또 아님...;;
	//ArrayList가 중복 저장은 되지만 예외처리가 가능하기 떄문에
	//HashSet은 잘 사용하지 않음
	
	
	public static void main(String[] args) {
		HashSet<String> hs = new HashSet<>();
		hs.add("볶음밥");
		hs.add("김밥");
		hs.add("순대");
		hs.add("볶음밥");
		System.out.println("HashSet : " + hs);
		
		ArrayList<String> arr = new ArrayList<>();
		arr.add("라면");
		arr.add("김밥");
		arr.add("순대");
		arr.add("라면");
		System.out.println("ArrayList : " + arr);

	}

}

출력

 

HashSet : [김밥, 볶음밥, 순대]
ArrayList : [라면, 김밥, 순대, 라면]

 

출력값을 보면

HashSet은 임의 순서로 정렬하고 중복되는 값을 제외하고 출력

ArrayList는 추가한 순서대로 정렬하고 중복되는 값 출력