728x90
반응형
TreeSet
: Set자료형의 특징으로 중복을 허용하지 않으며, 정렬을 지원하는 클래스이다.
: *레드-블랙 트리(Red-Black Tree)로 구현되어 있다.
* 레드-블랙 트리(Red-Black Tree) : 편향 이진트리의 단점을 보완하기 위한 트리로, 데이터의 삽입/삭제 시 좌우 균형을 맞춰주는 트리
선언
import java.util.TreeSet;
import java.util.Collections; //
TreeSet <자료형> 변수명 = new TreeSet <>();
정렬
1. 오름차순
TreeSet<자료형> 변수명 = new TreeSet<>();
2. 내림차순
TreeSet<자료형> 변수명 = new TreeSet<>(Collections.reverseOrder());
3. 사용자 정의
TreeSet<자료형> 변수명 = new TreeSet<>(new Comparator<자료형>() {
@Override
public int compare(자료형 o1, 자료형 o2) {
return o1 - o2; // 오름차순
return o2 - o1; // 내림차순
});
4. 객체 정렬
static class 클래스명 implements Comparable<클래스명> {
클래스명 클래스변수
.
.
@Override
public int compareTo(클래스명 변수명) {
return this.클래스변수 - 변수명.클래스변수;
}
}
// 트리 선언 시
TreeSet<클래스명> 변수명 = new TreeSet<>();
메서드 (Method)
TreeSet<Integer> tSet = new TreeSet<>();
연산 | 코드 | 반환 값 |
삽입 | tSet.add(삽입할 value); | 트리에 value가 저장되어있던 경우 = False 트리에 value가 저장되어있지 않던 경우 = True |
삭제 | tSet.remove(삭제할 value); | 트리에 value가 저장되어있던 경우 = True 트리에 value가 저장되어있지 않던 경우 = False |
모든 값 삭제 | tSet.clear(); | - |
크기 | tSet.size(); | 트리의 사이즈 |
전체 원소 집합 출력 | System.out.println(tSet); | [원소1, 원소2, ..., 원소n] |
정렬 순서 기준 맨 앞 원소 | tSet.first(); | 정렬 순서 기준 맨 앞 원소 |
정렬 순서 기준 맨 뒤 원소 | tSet.last(); | 정렬 순서 기준 맨 뒤 원소 |
value보다 큰 원소들 중 최솟값 | tSet.higher(value); | value보다 큰 원소들 중 최솟값 |
value보다 작은 원소들 중 최댓값 | tSet.lower(value); | value보다 작은 원소들 중 최댓값 |
트리가 비어있는지 확인 | tSet.isEmpty(); | 트리의 사이즈가 0이면 = True 트리의 사이즈가 0보다 크면 = False |
트리에 value가 저장되어 있는지 | tSet.contains(value); | 트리에 value가 저장되어있는 경우 = True 트리에 value가 저장되어있지 않은 경우 = False |
728x90
반응형
'언어 공부 > JAVA_자바' 카테고리의 다른 글
[JAVA / 자바] Queue(큐) 클래스 사용법 및 함수(Method) 정리 (4) | 2022.04.02 |
---|---|
[JAVA / 자바] Stack(스택) 클래스 사용법 및 함수(Method) 정리 (0) | 2022.03.27 |
[JAVA / 자바] 비트 마스킹(Bit Mask), BitSet자료형 (0) | 2022.03.19 |
[JAVA / 자바] Priority Queue(우선순위 큐) 클래스 사용법 및 함수(Method) 정리 (0) | 2022.03.13 |
[JAVA / 자바] ArrayList vs HashSet (0) | 2022.02.12 |