Java集合List的排序
Java中提供了默认的对集合的排序方法,比如Collections.sort()方法,这是默认按照字典的顺序排序的。
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("dddd");
list.add("eee");
list.add("fff");
// 字符串排序
Collections.sort(list);
我现在想问的问题是,可以实现按照字典的逆序排序吗。
------解决方案--------------------默认排序方法只能对字符串集合排序,如果要改变默认排序,可以使用它的重载方法sort(List ,Comparator),需要自己实现Comparator接口,实现compare方法,定义排序规则。
------解决方案--------------------Comparator<String> reverse =
Collections.reverseOrder();
Collections.sort(list,reverse);
------解决方案--------------------重写Compare:
Collections.sort(list,new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}
});
------解决方案--------------------http://blog.csdn.net/lrbyantai/article/details/7055992
使用Comparator对List排序 可以自定义排序规则
------解决方案--------------------
Comparator<String> reverseOrder = Collections.<String>reverseOrder();
List<String> strings = new ArrayList<>(Arrays.asList("a","b","c"));
System.out.println(strings);