728x90
반응형
HashSet이란?
Set은 객체를 중복해서 저장 불가, 하나의 null 값만 저장 가능, 저장 순서 유지 안됨
만약 요소의 저장 순서를 유지해야 한다면 JDK 1.4부터 제공하는 LinkedHashSet 클래스를 사용하면 됨
Set 인터페이스를 구현한 클래스로는 HashSet과 TreeSet이 있는데 HashSet의 경우 정렬 X, TreeSet의 경우 자동정렬
Set의 가장 큰 장점은 중복을 자동으로 제거
HashSet 선언
HashSet<Integer> set1 = new HashSet<Integer>(); //HashSet생성
HashSet<Integer> set2 = new HashSet<>(); //new에서 타입 파라미터 생략가능
HashSet<Integer> set3 = new HashSet<Integer>(set1); //set1의 모든 값을 가진 HashSet생성
HashSet<Integer> set4 = new HashSet<Integer>(10); //초기 용량(capacity)지정
HashSet<Integer> set5 = new HashSet<Integer>(10, 0.7f); //초기 capacity,load factor지정
HashSet<Integer> set6 = new HashSet<Integer>(Arrays.asList(1,2,3)); //초기값 지정
HashSet 값 추가
HashSet<Integer> set = new HashSet<Integer>(); //HashSet생성
set.add(1); //값 추가
set.add(2);
set.add(3);
HashSet 값 삭제
HashSet<Integer> set = new HashSet<Integer>(Arrays.asList(1,2,3)); //HashSet생성
set.remove(1); //값 1 제거
set.clear(); //모든 값 제거
HashSet 크기 구하기
HashSet<Integer> set = new HashSet<Integer>(Arrays.asList(1,2,3)); //HashSet생성
System.out.println(set.size()); //set 크기 : 3
HashSet 값 출력
HashSet<Integer> set = new HashSet<Integer>(Arrays.asList(1,2,3)); //HashSet생성
System.out.println(set); //전체출력 [1,2,3]
Iterator iter = set.iterator(); // Iterator 사용
while(iter.hasNext()) { //값이 있으면 true 없으면 false
System.out.println(iter.next());
}
HashSet 값 검색
HashSet<Integer> set = new HashSet<Integer>(Arrays.asList(1,2,3)); //HashSet생성
System.out.println(set.contains(1)); //set내부에 값 1이 있는지 check : true
참고 자료
https://coding-factory.tistory.com/551
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
[Java] 람다식이란? (0) | 2022.01.28 |
---|---|
HashMap 사용 예제 (0) | 2021.12.30 |
ArrayList 사용 예제 (0) | 2021.12.28 |
자바 Collection(List, Set, Map) 비교 (0) | 2021.12.27 |
java 티베로 연결 (0) | 2021.10.15 |