gpt4 book ai didi

java - Java中如何对两个字段进行排序?

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

我有对象数组person (intage; String name;)

如何按名称字母顺序排序此数组,然后按年龄排序?

您会使用哪种算法?

最佳答案

您可以使用Collections.sort如下:

private static void order(List<Person> persons) {

Collections.sort(persons, new Comparator() {

public int compare(Object o1, Object o2) {

String x1 = ((Person) o1).getName();
String x2 = ((Person) o2).getName();
int sComp = x1.compareTo(x2);

if (sComp != 0) {
return sComp;
}

Integer x1 = ((Person) o1).getAge();
Integer x2 = ((Person) o2).getAge();
return x1.compareTo(x2);
}});
}

List<Persons>现在按姓名排序,然后按年龄排序。

String.compareTo “按字典顺序比较两个字符串” - 来自 docs .

Collections.sort是 native Collections 库中的静态方法。它进行实际的排序,您只需要提供一个比较器来定义如何比较列表中的两个元素:这是通过提供您自己的 compare 实现来实现的方法。

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

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