728x90
TreeSet 미친 클래스인데 왜 이때까지 안씀?
이새끼는 HashSet과 마찬가지로 중복된 오브젝트를 제거해 줄 수 있다.
근데 미친게 정렬을 자동으로 해준다.(대신 IO에 시간이 많이 든다)
게다가 tailSet() 이나 headSet()이라는 메서드가 TreeSet 인스턴스의 부분집합을 리턴해줄 수 도 있다. 예를 들면 이렇다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
TreeSet<Integer> setter = new TreeSet<Integer>();
setter.add(1);
setter.add(3);
setter.add(7);
setter.add(2);
setter.add(4);
setter.add(9);
setter.add(5);
setter.add(8);
System.out.println(setter.tailSet(5));
}
}
setter는 [1,2,3,4,5,6,7,8,9]인데(정렬이 되어있다)
setter.tailSet()은 [5, 7, 8, 9]다. 정말 돌아이급이지 않는가?
setter.headSet()은 [1,2,3,4]다. 미친거 같다진짜
심지어 lower, higher, last, first같은 미친 메서드도 많다..
728x90