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);我现在想问的问题是,可以实现按照字典的逆序排序吗。

解决方案 »

  1.   

    默认排序方法只能对字符串集合排序,如果要改变默认排序,可以使用它的重载方法sort(List ,Comparator),需要自己实现Comparator接口,实现compare方法,定义排序规则。
      

  2.   

    Comparator<String> reverse = Collections.reverseOrder();Collections.sort(list,reverse);
      

  3.   

    重写Compare: Collections.sort(list,new Comparator<String>() {            @Override
                public int compare(String o1, String o2) {
                  return o2.compareTo(o1);
                }
            });
      

  4.   

    http://blog.csdn.net/lrbyantai/article/details/7055992使用Comparator对List排序 可以自定义排序规则
      

  5.   

            Comparator<String> reverseOrder = Collections.<String>reverseOrder();
            List<String> strings = new ArrayList<>(Arrays.asList("a","b","c"));
            System.out.println(strings);
            Collections.sort(strings, reverseOrder);
            System.out.println(strings);
      

  6.   

      排序方法有很多,有list自带的。有重写compare。根据需要选择咯。
      

  7.   


            Comparator<String> reverseOrder = Collections.<String>reverseOrder();
            List<String> strings = new ArrayList<>(Arrays.asList("a","b","c"));
            System.out.println(strings);
            Collections.sort(strings, reverseOrder);
            System.out.println(strings);
      

  8.   

            Comparator<String> reverseOrder = Collections.<String>reverseOrder();
            List<String> strings = new ArrayList<>(Arrays.asList("a","b","c"));
            System.out.println(strings);
            Collections.sort(strings, reverseOrder);
            System.out.println(strings);也可以自己自己实现Comparable