package test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
/**
* 注意:Collections一般对list进行排序,不能对Set,Map排序,因为Set可以用TreeSet,Map用TreeMap排序
* 如果要用Collections进行排序,要么元素具有排序性,即实现Comparable的ComparaTo方法。要么Collections具有
* 排序行,即实现传入构造方法排序器的实现类(实现Comparator接口的类)实例。
*/
public class CollectionsSortTest {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("abcde");
list.add("aaaa");
list.add("zz");
list.add("qq");
list.add("hhh");
//String实现了Comparable接口,按自然排序
Collections.sort(list);
System.out.println(list);
Collections.sort(list, new Compar());
System.out.println(list);
}
}
class Compar implements Comparator<String>{
@Override
public int compare(String s1, String s2) {
int num = s1.length()-s2.length();
if(num ==0)
num = s1.compareTo(s2);
return num;
}
}
Collections的sort用法
最新推荐文章于 2024-05-29 13:34:09 发布