import java.util.*;
public class CollectionTest {
public static void main(String[] args) {
/**
* 按字符长短进行排序
* 1.字符串之所以可以排序,是因为已经实现Comparable接口重写compareTo方法。建立了字符串的自然排序
* 2.但是自然排序不是需求中所需要的。使用自定义的比较器,
*/
Set set = new TreeSet(new ComparatorByLength());
set.add("abc");
set.add("haha");
set.add("xixi");
set.add("z");
set.add("hiahia");
for (Iterator it = set.iterator();it.hasNext();){
System.out.println(it.next());
}
}
}
class ComparatorByLength implements Comparator{
@Override
public int compare(Object o1,Object o2) {
String s1 = (String) o1;
String s2 = (String) o2;
int temp = s1.length() - s2.length();
return temp==0?s1.compareTo(s2):temp;
}
}
比较器用法
最新推荐文章于 2022-05-08 15:15:08 发布