排序 Java 集合 [英] Sort Java Collection
本文介绍了排序 Java 集合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个 Java 集合:
I have a Java collection:
Collection<CustomObject> list = new ArrayList<CustomObject>();
CustomObject
现在在显示列表之前有一个 id
字段我想按那个 id
对这个集合进行排序.
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?
推荐答案
使用 比较器:
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);
另外,如果CustomObject
实现了Comparable
,那么只需使用Collections.sort(list)
Additionally, if CustomObject
implements Comparable
, then just use Collections.sort(list)
List<CustomObject> list = getCustomObjectList();
Collections.sort(list, (left, right) -> left.getId() - right.getId());
System.out.println(list);
简单得多
List<CustomObject> list = getCustomObjectList();
list.sort((left, right) -> left.getId() - right.getId());
System.out.println(list);
最简单
List<CustomObject> list = getCustomObjectList();
list.sort(Comparator.comparing(CustomObject::getId));
System.out.println(list);
显然初始代码也可用于 JDK 8.
Obviously the initial code can be used for JDK 8 too.
这篇关于排序 Java 集合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文