具体实现:
package cn.wong.lar.stringlengthsort;
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
/**
* 定义比较器
* @Title: Tester.java
* @Package cn.wong.lar.stringlengthsort
* @Description: TODO
* @author Lar
* @Modifier Lar
* @version
*/
class StringLengthComparator implements Comparator<String> {
@Override
public int compare(String str1, String str2) {
int num = str1.length() - str2.length();
if(num==0)
return str1.compareTo(str2);
return num;
}
}
public class Tester {
public static void main(String[] args) {
Set<String> set=new TreeSet<String>(new StringLengthComparator());
set.add("adsfsdffffdgsd");
set.add("ssfsdfsgfgg");
set.add("dfdghgfh");
set.add("dfdghgfz");
set.add("dfdgfhgfhgfhhgfh");
Iterator<String> it = set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
结果:
dfdghgfh
dfdghgfz
ssfsdfsgfgg
adsfsdffffdgsd
dfdgfhgfhgfhhgfh