1 package 測試; 2 3 import java.util.Comparator; 4 5 public class ComparatorByLength implements Comparator { //定義比較器 6 7 @Override 8 public int compare(Object o1, Object o2) { 9 String s1 = (String)o1; 10 String s2 = (String)o2; 11 12 int temp = s1.length()-s2.length(); 13 14 return temp==0? s1.compareTo(s2):temp; 15 } 16 17 }
1 import java.util.Iterator; 2 import java.util.TreeSet; 3 4 public class TreeSetTest { 5 6 public static void main(String[] args) { 7 8 TreeSet ts = new TreeSet(new ComparatorByLength()); 9 10 ts.add("aaaaaaaa"); 11 ts.add("zz"); 12 ts.add("nbaq"); 13 ts.add("cba"); 14 ts.add("abc"); 15 16 Iterator it = ts.iterator(); 17 18 while (it.hasNext()) 19 { 20 System.out.println(it.next()); 21 } 22 23 } 24 25 }