package com.anzy.set;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
/**
* 按照字符串长度排序
* @author anzy
*
*/
public class TreesetDemo02 {
public static void main(String[] args) {
TreeSet t = new TreeSet(new StrLenComparator()); //放入treeset中的类必须实现Comparable接口
t.add("dddsaaaaaa");
t.add("e");
t.add("bbcccccc");
t.add("aaaa");
t.add("d");
Iterator it = t.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
class StrLenComparator implements Comparator{
@Override
public int compare(Object o1, Object o2) {
String s1 = (String) o1;
String s2 = (String) o2;
if(s1.length()>s2.length()){
return 1;
}
if(s1.length() == s2.length())
//return 0; //出现字符串长度相等会出现问题
return s1.compareTo(s2);
<pre name="code" class="java"><span style="white-space:pre"> </span>//int num = new Integer(s1.length()).compareTo(new Integer(s2.length())); //方法二
return -1;}}