본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

검색트리의 자료구조 형태로 데이터를 저장하는 컬렉션 클래스, TreeSet

TreeSet

TreeSet은 검색트리의 자료구조 형태로 데이터를 저장하는 컬렉션 클래스.

정렬, 검색, 범위검색에 높은 성능을 보인다.

Set 인터페이스로 구현했음으로 중복된 데이터의 저장을 허용하지않으며 정렬된 위치에 저장함으로 저장순서를 유지하지도 않는다.

각 노드에 최대 2개의 노드를 연결할 수 있으며 루트라고 불리는 하나의 노드에서부터 시작해 계속 확장해나갈 수 있다.

위에서부터 아래로 부모노드, 자식노드라한다.

저장삭제시 트리 일부를 재구성해야해 시간이 더 걸리나 검색과 정렬기능이 뛰어나다.

https://standout.tistory.com/1367

 

중복을 허용하지않고 저장순서가 유지되지않는 컬렉션 클래스, Set

Set인터페이스 Set인터페이스는 중복을 허용하지않고 저장순서가 유지되지않는 컬렉션 클래스를 구현한다. 예로 HashSet, TreeSet이 있다. https://standout.tistory.com/127 자바의 자료구조, collection 컬렉션

standout.tistory.com

 

 

TreeSet()

기본 생성자로, 비어 있는 TreeSet을 생성합니다. 이 TreeSet은 요소의 순서를 기반으로 정렬됩니다.

TreeSet<Integer> treeSet = new TreeSet<>();

 

 

 

TreeSet(Collection c)

주어진 컬렉션의 모든 요소를 포함하고 자연 순서(요소의 기본 순서)에 따라 정렬된 TreeSet을 생성합니다.

ArrayList<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(2);

TreeSet<Integer> treeSet = new TreeSet<>(list);

 

 

 

TreeSet(Comparator comp)

주어진 Comparator에 따라 요소가 정렬된 TreeSet을 생성합니다.

Comparator<Integer> reverseOrder = Collections.reverseOrder();
TreeSet<Integer> treeSet = new TreeSet<>(reverseOrder);

 

 

 

TreeSet(SortedSet s)

주어진 SortedSet의 요소와 동일한 요소로 구성된 TreeSet을 생성합니다.

SortedSet<Integer> sortedSet = new TreeSet<>();
sortedSet.add(3);
sortedSet.add(1);
sortedSet.add(2);
TreeSet<Integer> treeSet = new TreeSet<>(sortedSet);

 

 

 

boolean add(Object o)

TreeSet에 지정된 요소를 추가합니다.

TreeSet<Integer> treeSet = new TreeSet<>();
treeSet.add(3);
treeSet.add(1);
treeSet.add(2);

 

 

 

boolean addAll(Collection c)

지정된 컬렉션의 모든 요소를 TreeSet에 추가합니다.

TreeSet<Integer> treeSet = new TreeSet<>();
ArrayList<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(2);

treeSet.addAll(list);

 

 

Object ceiling(Object o)

주어진 요소와 동등한 것이 없으면 가장 가까운 상위 요소를 반환합니다.

TreeSet<Integer> treeSet = new TreeSet<>();
treeSet.add(1);
treeSet.add(3);
treeSet.add(5);

System.out.println(treeSet.ceiling(2)); // 3

 

 

 

void clear()

TreeSet에서 모든 요소를 제거합니다.

TreeSet<Integer> treeSet = new TreeSet<>();
treeSet.add(1);
treeSet.add(3);
treeSet.add(5);

treeSet.clear();

 

 

 

Object clone()

TreeSet의 얕은 복사본을 생성하여 반환합니다.

TreeSet<Integer> treeSet = new TreeSet<>();
treeSet.add(1);
treeSet.add(3);
treeSet.add(5);

TreeSet<Integer> copySet = (TreeSet<Integer>) treeSet.clone();

 

 

 

Comparator comparator()

TreeSet의 요소를 정렬하는 데 사용되는 Comparator를 반환합니다.

Comparator<Integer> comparator = treeSet.comparator();

 

 

 

boolean contains(Object o)

TreeSet이 지정된 요소를 포함하고 있는지 여부를 반환합니다.

System.out.println(treeSet.contains(3)); // true

 

 

 

booleadn containsAll(Collection c)

TreeSet이 지정된 컬렉션의 모든 요소를 포함하고 있는지 여부를 반환합니다.

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(3);

System.out.println(treeSet.containsAll(list)); // true

 

 

 

NavigableSet descendingSet()

TreeSet의 요소를 내림차순으로 정렬한 NavigableSet을 반환합니다.

NavigableSet<Integer> descendingSet = treeSet.descendingSet();

 

 

 

Object first()

TreeSet의 첫 번째(가장 낮은) 요소를 반환합니다.

System.out.println(treeSet.first());

 

 

 

Object floor(Object o)

주어진 요소와 동등한 것이 없으면 가장 가까운 하위 요소를 반환합니다.

System.out.println(treeSet.floor(2)); // 1

 

 

 

SortedSet headSet(Object toElement)

주어진 요소보다 작은 모든 요소를 포함하는 SortedSet을 반환합니다.

SortedSet<Integer> headSet = treeSet.headSet(3);

 

 

 

NavigableSet headSet(Object toElement, boolean inclusive)

주어진 요소보다 작거나 같은 모든 요소를 포함하는 NavigableSet을 반환합니다.

NavigableSet<Integer> headSet = treeSet.headSet(3, true);

 

 

 

Object higher(Object o)

주어진 요소보다 큰 것이 없으면 가장 가까운 상위 요소를 반환합니다.

System.out.println(treeSet.higher(2)); // 3

 

 

 

boolean isEmpty()

TreeSet이 비어 있는지 여부를 반환합니다.

System.out.println(treeSet.isEmpty()); // false

 

 

 

Iterator iterator()

TreeSet의 요소를 반복하는 Iterator를 반환합니다.

Iterator<Integer> iterator = treeSet.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

 

 

 

Object last()

TreeSet의 마지막(가장 높은) 요소를 반환합니다.

System.out.println(treeSet.last());

 

 

 

Object lower(Object o)

주어진 요소보다 작은 것이 없으면 가장 가까운 하위 요소를 반환합니다.

System.out.println(treeSet.lower(3)); // 1

 

 

 

Object pollFirst()

TreeSet의 첫 번째 요소를 제거하고 반환합니다.

System.out.println(treeSet.pollFirst());

 

 

 

Object pollLast()

TreeSet의 마지막 요소를 제거하고 반환합니다.

System.out.println(treeSet.pollLast());

 

 

 

 

boolean remove(Object o)

TreeSet에서 지정된 요소를 제거합니다.

treeSet.remove(2);

 

 

 

boolean retainAll(Collection c)

TreeSet에서 지정된 컬렉션에 포함된 요소만 유지하고 나머지 요소를 제거합니다.

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(3);

treeSet.retainAll(list);

 

 

 

int size()

TreeSet에 포함된 요소의 수를 반환합니다.

System.out.println(treeSet.size());

 

 

 

Spliterator spliterator()

TreeSet의 요소를 반복하는 Spliterator를 반환합니다.

Spliterator<Integer> spliterator = treeSet.spliterator();

 

 

 

SortedSet subSet(Object fromElement, Object toElement)

주어진 범위에 해당하는 요소를 포함하는 SortedSet을 반환합니다.

SortedSet<Integer> subSet = treeSet.subSet(1, 3);

 

 

 

NavigableSet<E> subSet(E fromElement, boolean frominclusive, E toElement, boolean toInclusive)

주어진 범위에 해당하는 요소를 포함하는 NavigableSet을 반환합니다.

NavigableSet<Integer> subSet = treeSet.subSet(1, true, 3, true);

 

 

 

SortedSet failSet(Object fromElement)

주어진 요소보다 크거나 같은 모든 요소를 포함하는 SortedSet을 반환합니다.

SortedSet<Integer> tailSet = treeSet.tailSet(3);

 

 

 

Object[] toArray()

TreeSet에 포함된 요소를 포함하는 배열을 반환합니다.

Object[] array = treeSet.toArray();

 

 

Object[] toArray(Object[] a)

TreeSet에 포함된 요소를 지정된 배열에 복사하여 반환합니다.

Integer[] array = new Integer[treeSet.size()];
treeSet.toArray(array);