[Java] TreeSet
              
          2023. 1. 29. 16:46ㆍLanguage/Java
TreeSet이란?
Set 컬렉션 중 하나로 SortedSet 인터페이스이다.
Set이기 때문에 중복값을 허용하지 않고 입출력 순서가 보장되지 않는다는 성질을 갖는다.
HashSet과는 자동정렬이 된다는 차이점이 있다.
-> HashSet보다 속도가 느리다.
사용 예시
원소추가하기 - add()
| 1 2 3 4 5 6 7 8 |        Set<Integer> answer = new TreeSet<>();       answer.add(5); answer.add(5);       answer.add(2);        answer.add(3);       answer.add(1); answer.add(4);       System.out.println(answer); | cs | 

정수형 TreeSet인 answer을 만들었다.
add를 이용하여 원소를 추가하였고
5를 두 번, 크기 상관없이 저장하였다.
중복되는 원소인 5는 한 번만 들어갔고 작은 순서에서 큰 순서대로 정렬되어 저장되어 있다.
내림차순 정렬하기 - Collections.reverseOrder()
| 1 2 3 4 5 6 7 8 9 |       Set<Integer> answer = new TreeSet<>(Collections.reverseOrder());       answer.add(5);       answer.add(5);       answer.add(2);       answer.add(3);       answer.add(1);       answer.add(4);       System.out.println(answer); | cs | 

원소 삭제하기 - remove(), clear()
| 1 2 3 4 |  System.out.println(answer); answer.remove(3);      System.out.println(answer); answer.clear();      System.out.println(answer); | cs | 

remove()로 지우고 싶은 원소를 선택해서 지우고
clear()로 배열에 있는 모든 원소를 지울 수 있다.
원소 하나씩 꺼내기 - iterator()
| 1 2 3 4 5 6 7 8 9 10 11 12 13 |     Set<Integer> answer = new TreeSet<>(Collections.reverseOrder());         answer.add(5);         answer.add(5);         answer.add(2);         answer.add(3);         answer.add(1);         answer.add(4);        Iterator<Integer> iterator = answer.iterator();         while (iterator.hasNext()){             System.out.println(iterator.next());         } | cs | 

iterator 클래스를 이용한다.
while문으로 itrator가 다음 가리킬 대상이 있다면 한 칸씩 출력하는 것을 반복한다.
'Language > Java' 카테고리의 다른 글
| String vs StringBuffer / StringBuilder (0) | 2023.08.23 | 
|---|---|
| Stream (0) | 2023.06.02 | 
| 배열 출력하기 (0) | 2023.01.19 | 
| 배열 순서대로 정렬하기 (0) | 2023.01.19 | 
| replace vs replaceAll (0) | 2023.01.18 |