요약: Comparator interface를 구현한 class를 TreeSet class의 인자로 넣어주면 해당 TreeSet의 인스턴스는 연산자로 주입된 Comparator class의 compare 메서드를 사용하게 된다.

package org.example;
import java.util.Set;
import java.util.TreeSet;
import java.util.Comparator;

class MyStringComparator implements Comparator<String> {
	@Override
	public int compare(String s1, String s2) {
		return s1.length() - s2.length();
	}

}

public class Ex10_Comparator {
	public static void main(String[] args) {
//		Set<String> tree = new TreeSet<>();
		Set<String> tree = new TreeSet<>(new MyStringComparator());
		tree.add("A1");
		tree.add("B23");
		tree.add("C456");
		tree.add("D789");
		tree.add("E0123");

		for(String s : tree) {
			System.out.println(s.toString() + '\t');
		}
		System.out.println();
	}
}