gpt4 book ai didi

java - 按字段对对象数组进行排序

转载 作者:搜寻专家 更新时间:2023-11-01 03:59:27 25 4
gpt4 key购买 nike

我有对象

Person{
String name;
int age;
float gradeAverage;
}

有没有简单的排序方法

Person[] ArrayOfPersons

按年龄?

我必须使用 Comparable 还是 Comparator?我不完全理解它们。

最佳答案

为了完整起见,在使用 Java 8 时,您可以使用 Comparator.comparing为某些属性创建一个简单的比较器,例如Comparator.comparing(Person::getAge),或者使用 lambda,如 Comparator.comparing(p -> p.age),如果年龄没有 getter 方法.

这使得为不同的属性链接比较器变得特别容易,使用thenComparing ,例如主要按年龄排序,然后在领带的情况下按姓名排序:

Comparator.comparing(Person::getAge).thenComparing(Person::getName)

将其与 Arrays.sort 合并,你就完成了。

Arrays.sort(arrayOfPersons, Comparator.comparing(Person::getAge));

关于java - 按字段对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27929533/

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