排序Java集合 [英] Sort Java Collection

查看:88
本文介绍了排序Java集合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Java集合:

 集合< CustomObject> list = new ArrayList< CustomObject>(); 

CustomObject id

有没有什么办法我可以做到吗?

解决方案

使用比较器

  List< CustomObject> list = new ArrayList< CustomObject>(); 
Comparator< CustomObject> comparator = new Comparator< CustomObject>(){
@Override
public int compare(CustomObject left,CustomObject right){
return left.getId() - right.getId(); // use your logic
}
};

Collections.sort(list,comparator); //使用比较器尽可能多的想要
System.out.println(list);

此外,如果 CustomObject implements Comparable ,则只需使用 Collections.sort(list)



JDK 8的语法更简单。



  List< CustomObject> list = new ArrayList< CustomObject>(); 
Collections.sort(list,(left,right) - > left.getId() - right.getId());
System.out.println(list);

更简单

  List< CustomObject> list = new ArrayList<>(); 
list.sort((left,right) - > left.getId() - right.getId());
System.out.println(list);

显然,初始代码也可用于JDK 8。


I have a Java collection:

Collection<CustomObject> list = new ArrayList<CustomObject>();

CustomObject has an id field now before display list I want to sort this collection by that id.

Is there any way I could that do that?

解决方案

Use a Comparator:

List<CustomObject> list = new ArrayList<CustomObject>();
Comparator<CustomObject> comparator = new Comparator<CustomObject>() {
    @Override
    public int compare(CustomObject left, CustomObject right) {
        return left.getId() - right.getId(); // use your logic
    }
};

Collections.sort(list, comparator); // use the comparator as much as u want
System.out.println(list);

Additionally, if CustomObjectimplements Comparable, then just use Collections.sort(list)

With JDK 8 the syntax is much simpler.

List<CustomObject> list = new ArrayList<CustomObject>();
Collections.sort(list, (left, right) -> left.getId() - right.getId());
System.out.println(list);

Much simplier

List<CustomObject> list = new ArrayList<>();
list.sort((left, right) -> left.getId() - right.getId());
System.out.println(list);

Obviously the initial code can be used for JDK 8 too.

这篇关于排序Java集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆