Programming/Java
[JAVA] HashSet, TreeSet 정리
로넌
2023. 1. 27. 14:27
Set 의 특징
1) 순서가 없다.
2) 중복을 허용하지 않는다.
Set Collection의 종류
1) HashSet<E>
2) TreeSet<E>
HashSet<E> 클래스
- 가장 많이 사용되는 Set 클래스로, 해시 알고리즘을 사용하여 검색속도가 빠르다.
- 내부적으로 HashMap 인스턴스를 이용하여 요소를 저장한다.
만약 저장순서를 유지해야 한다면 LinkedHashSet을 이용하면 된다.
HashSet<String> set = new HashSet<>();
// 1. add() 메소드를 이용하여 요소를 저장한다.
set.add("가나다");
set.add("라마바");
set.add("사아자");
set.add("사아자");
// 2. 중복을 허용하지 않는다.
for(String x : set){
System.out.print(x + " ");
}
// 출력결과
// 가나다 라마바 사아자
// 3. Iterator()메소드를 이용한 요소의 출력
Iterator(String> iterator = set.iterator();
while(iterator.hasNext()){
System.out.print(iterator.next() + " ");
}
// 출력결과
// 가나다 라마바 사아자
TreeSet<E> 클래스
- 데이터가 정렬된 상태로 저장되는 이진 검색 트리의 형태로 요소를 저장한다.
TreeSet<Integer> tree = new TreeSet<>();
// 1. add() 메소드를 이용하여 저장
tree.add(10);
tree.add(30);
tree.add(20);
// 2. 정렬된 상태로 출력된다
for(int x : trr){
System.out.print(x + " ");
}
// 출력결과
// 10 20 30
// 3. remove() 메소드를 이용한 제거
tree.remove(30);
// 4. iterator() 메소드를 이용한 요소의 출력
Iterator<Integer> iterator = new tree.iteraotr();
while(iterator.hasNext()){
System.out.print(iterator.next() + " ");
}
// 5. size() 메소드를 이용한 개수
tree.size();
HashSet과 TreeSet의 차이
- set이란 순서가 없는 집합체이며 중복을 허용하지 않는다.
- TreeSet은 HashSet과 다르게 정렬되어 저장되지만 그렇기 때문에 HashSet에 비해 속도가 느리다.
참고
https://thalals.tistory.com/16
[JAVA] 자바 HashSet, TreeSet (Set 컬렉션 클래스)
1. Set 컬렉션 클래스의 특징 1) 요소의 저장순서를 유지하지 않느다. 2) 같은 요소이 중복저장을 허용하지 않느다. ( 즉, HashSet을 이용하면, 중복값을 쉽게 제거할 수 있다.) Set 컬렉션 클래스의
thalals.tistory.com