Java HashSet 란?
Java의 HashSet 은 Set 인터페이스를 구현한 클래스이다.
특징
- 순서가 없다.
- key 값도 없다.
- 중복을 허용하지 않는다.
- 어떤 data 를 묶음(집합) 으로 관리하고자 할때 사용한다.
ex)
HashSet<Integer> set1 = new HashSet<>();
기본 예제)
해당 코드를 Debug 모드로 확인해보면
set1에 Integer 타입 10,20 값이 저장되었다.
하지만 중복값을 허용하지않는 HashSet 특성상 20의 value 가 존재하므로
또 20의 값을 value 를 add하려고하니 false 되며 값이 저장되지 않은 모습을 볼 수 있다.
이미 추가된 30값이 있으므로 set1.add(30) 도 두번째 선언했을때 위와 동일하게 false 된것을 볼 수 있다.
String 타입 set2 도 중복된 value 인 lee, park 를 넣으려고 할때 false이 리턴되는것을 볼 수 있다.
활용 예제)
HashSet 객체의 특성 중 중복을 허용하지 않는 특성을 이용해 ArrayList 객체의 중복값을 제거
해당 코드를 Debug 모드로 확인해보면
nums 의 0번째 값과 3번째 값이 같고
nums 의 2번째 값과 5번째 값이 같은 모습을 볼수있다.
HashSet 객체에 nums 을 전달하였더니 Set 객체는 nums 객체의 중복값들을 제거하고 저장된 모습을 볼 수 있다.
오름차순 정렬 한뒤 콘솔창에 출력결과이다.
'Java' 카테고리의 다른 글
[Eclipse] Java Iterator(반복자) (0) | 2023.05.08 |
---|---|
[Eclipse] Java While(반복문) (0) | 2023.05.08 |
[Eclipse] Java Hash Map (0) | 2023.05.08 |
[Eclipse] Java ArrayList 개념 및 사용법 (0) | 2023.05.04 |
[Eclipse] Java Generic(제네릭) Class(포괄 클래스) (0) | 2023.05.04 |