[JAVA] TreeSet 예제

정은아·2022년 7월 29일
package ja_0729;

import java.util.TreeSet;

public class TreeSet_1 {
	public static void main(String[] args) {
		
		TreeSet set = new TreeSet();		
		int [] score = {75, 48, 66, 93, 37, 55, 10, 75, 63, 84};
		
		for (int i = 0; i < score.length; i++) 
		{
			set.add(new Integer(score[i]));	
		}
		
		System.out.println("65보다 작은 값 : " + set.headSet(new Integer(65)));
		System.out.println("65보다 큰 값 : " + set.tailSet(65));
		
	}
}
TreeSet set = new TreeSet();

은 자동으로 오름차순 정렬됩니다.
만약, 내림차순 정리하고싶다면? 아래처럼 쓰시면 됩니다.

TreeSet <Integer> set = new TreeSet<> Collections.reverseOrder());
System.out.println("65보다 작은 값 : " + set.headSet(new Integer(65)));

이 문장은 65보다 앞에 있는 숫자를 리턴해준다는 뜻입니다.
말 그대로 머리(앞)의 숫자를 리턴해줍니다.

System.out.println("65보다 큰 값 : " + set.tailSet(65));

이 문장은 65보다 작은 숫자를 리턴해준다는 뜻입니다.
Tail(꼬리)를 연상하시면 편합니다.

HeadSet과는 달리 TreeSet은 이진 탐색트리(BinarySearchTree) 구조로 이루어져 있습니다.
이진 탐색 트리는 추가와 삭제에는 시간이 조금 더 걸리지만 정렬,
검색에 높은 성능을 보이는 자료구조입니다.
그렇기에 HeadSet보다 데이터의 추가와 삭제는 시간이 더 걸리지만 검색과 정렬에는 유리합니다.
TreeSet은 데이터를 저장할 시 이진탐색트리(BinarySearchTree)의 형태로 데이터를 저장합니다.
기본이 오름차순 정렬로 이루어져 있습니다.

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글