Java集合List的排序

super_loverax 2013-08-30 09:16:04
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);

我现在想问的问题是,可以实现按照字典的逆序排序吗。
...全文
770 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shirui8653719 2013-08-31
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:
Comparator<String> reverse = Collections.reverseOrder(); Collections.sort(list,reverse);
这个简单。
xiaozhou10 2013-08-31
  • 打赏
  • 举报
回复
引用 5 楼 huntor 的回复:
[quote=引用 2 楼 fangmingshijie 的回复:] Comparator<String> reverse = Collections.reverseOrder(); Collections.sort(list,reverse);
        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);
[/quote]也可以自己自己实现Comparable
Vurteon 2013-08-31
  • 打赏
  • 举报
回复
引用 楼主 super_loverax 的回复:
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
huntor 2013-08-30
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:
Comparator<String> reverse = Collections.reverseOrder(); Collections.sort(list,reverse);
        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);
蛋黄车 2013-08-30
  • 打赏
  • 举报
回复
http://blog.csdn.net/lrbyantai/article/details/7055992 使用Comparator对List排序 可以自定义排序规则
kosora曹 2013-08-30
  • 打赏
  • 举报
回复
重写Compare:

 Collections.sort(list,new Comparator<String>() {

            @Override
            public int compare(String o1, String o2) {
              return o2.compareTo(o1);
            }
        });
  • 打赏
  • 举报
回复
Comparator<String> reverse = Collections.reverseOrder(); Collections.sort(list,reverse);
  • 打赏
  • 举报
回复
默认排序方法只能对字符串集合排序,如果要改变默认排序,可以使用它的重载方法sort(List ,Comparator),需要自己实现Comparator接口,实现compare方法,定义排序规则。
wufei151 2013-08-30
  • 打赏
  • 举报
回复
Collections.reverseOrder();
___回首 2013-08-30
  • 打赏
  • 举报
回复
规则可以自己写,重写方法
liuyuhua0066 2013-08-30
  • 打赏
  • 举报
回复
引用 5 楼 huntor 的回复:
[quote=引用 2 楼 fangmingshijie 的回复:] Comparator<String> reverse = Collections.reverseOrder(); Collections.sort(list,reverse);
        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);
[/quote]
浮缈 2013-08-30
  • 打赏
  • 举报
回复
排序方法有很多,有list自带的。有重写compare。根据需要选择咯。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧