gpt4 book ai didi

Java:按条件对 ArrayList 中的对象进行排序

转载 作者:行者123 更新时间:2023-12-01 20:11:12 31 4
gpt4 key购买 nike

我想按字母顺序对我的 ArrayList 进行排序。因此我编写了一个 sortEmployees 方法。 如果我的员工有相同的名字,我想根据他们的薪水对他们进行排序,这意味着应首先打印薪水较高的员工。

嗯,我成功地按字母顺序对它们进行了排序,但是我不知道如何比较,如果员工具有相同的姓名,如果是这种情况,则应打印工资较高的员工。 谢谢。

ArrayList<Employee> employees = new ArrayList<Employee>();

public void sortEmployees(){
Collections.sort(employees, (p1, p2) -> p1.name.compareTo(p2.name));
for(Employee employee: employees){
System.out.println("ID: " + employee.ID + END_OF_LINE + "Name: "+employee.name + END_OF_LINE + "Salary: " + employee.grossSalary);
System.out.println(""); // just an empty line
}
}

最佳答案

创建适当的Comparator这将根据您想要的标准比较两个项目。然后使用Collections.sort()在您的 ArrayList 上。

如果稍后您想按不同条件排序,请使用不同的比较器再次调用Collections.sort()

引用:How to sort an ArrayList using multiple sorting criteria?

只是对 future 问题的建议,请在提出新问题之前正确使用 google 或在 stackoverflow 上搜索您的问题。大多数时候,这些琐碎的问题已经被提出并得到回答。

关于Java:按条件对 ArrayList 中的对象进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46677635/

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