JAVA/포스팅

자바 컬렉션 프레임워크 TreeSet

짜집퍼박사(짜박) 2023. 11. 18. 11:17

TreeSet은 Java 컬렉션 프레임워크에서 제공하는 클래스 중 하나로, 이진 검색 트리의 형태로 데이터를 저장하는 정렬된 Set을 구현한 클래스입니다. TreeSet은 중복을 허용하지 않으며, 모든 요소는 정렬된 순서로 저장됩니다.

 

1. TreeSet의 특징
- 중복 허용 안 함: TreeSet은 중복된 요소를 허용하지 않습니다. 이미 존재하는 요소를 추가하려고 하면 아무런 작업도 수행하지 않습니다.
- 정렬된 순서로 저장: TreeSet은 내부적으로 이진 검색 트리(Binary Search Tree)를 사용하여 데이터를 저장하므로, 모든 요소는 정렬된 순서로 저장됩니다.
- Null 요소 미허용: TreeSet은 null 값을 허용하지 않습니다.

 

2. TreeSet의 주요 메서드

- add(E e): 요소를 세트에 추가합니다.
- remove(Object o): 지정된 요소를 세트에서 제거합니다.
- contains(Object o): 지정된 요소가 세트에 있는지 여부를 확인합니다.
- size(): 세트의 요소 수를 반환합니다.
- clear(): 세트에서 모든 요소를 제거합니다.

 

TreeSet 사용 예제

import java.util.TreeSet;
import java.util.Set;

public class TreeSetExample {
    public static void main(String[] args) {
        // TreeSet 생성
        Set<String> treeSet = new TreeSet<>();

        // 요소 추가
        treeSet.add("Banana");
        treeSet.add("Orange");
        treeSet.add("Apple");
        treeSet.add("Apple"); // 중복 요소는 무시됨

        System.out.println("TreeSet: " + treeSet);

        // 요소 제거
        treeSet.remove("Orange");

        System.out.println("After removing Orange: " + treeSet);

        // 요소 확인
        System.out.println("Contains Banana? " + treeSet.contains("Banana"));

        // 크기 확인
        System.out.println("Size: " + treeSet.size());

        // 모든 요소 제거
        treeSet.clear();

        System.out.println("After clearing: " + treeSet);
    }
}

위의 예제에서는 TreeSet을 생성하고 여러 메서드를 사용하여 요소를 추가, 제거, 확인 및 크기를 확인하는 등의 작업을 수행하였습니다. TreeSet은 요소가 정렬된 순서로 저장되므로, 출력 결과도 정렬된 순서로 나타납니다.

 

With ChatGPT