gpt4 book ai didi

java - Java中如何对两个事物进行排序?

转载 作者:行者123 更新时间:2023-11-30 02:11:39 25 4
gpt4 key购买 nike

public static void main(String[] args) {

ArrayList<Employee> unsorted = loadEmployee("NameList.csv", 100);


Collections.sort(unsorted,(Employee o2, Employee o1)-> o1.getFirstName().compareTo(o2.getFirstName() ));


unsorted.forEach((Employee)-> System.out.println(Employee));

这会按字母顺序打印名字。但是如何先按名字排序,再按 ID 排序呢?我有 Employee 类,并有 String ID、String firstName。在这里学习Collections.sort

最佳答案

您正在寻找Comparator#thenComparing :

使用Collections#sort:

List<Employee> unsorted = loadEmployee("NameList.csv", 100);

Collections.sort(unsorted, Comparator.comparing(Employee::getFirstName)
.thenComparing(Employee::getId));

unsorted.forEach(System.out::println);

使用流:

loadEmployee("NameList.csv", 100).stream()
.sorted(Comparator.comparing(Employee::getFirstName)
.thenComparing(Employee::getId))
.forEach(System.out::println);

首先按 Employee 的名字排序,如果不同 Employee 的两个名字相同,则按 ID 排序。

关于java - Java中如何对两个事物进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49887583/

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