gpt4 book ai didi

java - 对java中的对象列表进行排序

转载 作者:行者123 更新时间:2023-12-01 22:37:40 26 4
gpt4 key购买 nike

我想对 Emp 的列表进行排序基于marks按升序排列的对象字段。

List<Emp> emp= new ArrayList<Emp>();

public class Emp implements Serializable {
private String empname;
private String section;
private int empId;
private int marks;
...

最佳答案

您需要编写一个比较器,否则 Sort 方法会假设您在排序时要使用哪些字段。

 Collections.sort(emp, new Comparator<Emp>() { public int compare(Emp one, Emp two) {
return one.marks.compareTo(two.marks);
});

在我的示例中,我将字段标记视为公共(public)字段,如果您愿意,请将 one.marks 替换为 getter。

此外,由于您使用的整数没有compareTo,因此请这样做:

     Collections.sort(list, new Comparator<Emp>() {
public int compare(Emp one, Emp two) {
int cmp = one.getMarks() > two.getMarks() ? +1 : one.getMarks() < two.getMarks() ? -1 : 0;
return cmp;
}
});

关于java - 对java中的对象列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26645343/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com