gpt4 book ai didi

java - 在 Java 中按属性值对对象 ArrayList 进行排序

转载 作者:搜寻专家 更新时间:2023-10-30 21:38:09 25 4
gpt4 key购买 nike

我有 ArrayList zombie,其中填充了一个名为 Zombie 的对象。 Zombie 具有属性 healthxy。我如何使用 Zombie 的属性 x 按升序对数组进行排序,该属性最初设置为具有随机值?

我已经找到了可能的 solution我的问题,但我不明白答案的语法。解释该答案也可能有所帮助。

最佳答案

您想使用 Collections.sort结合定制Comparator .

Collections.sort(list, new Comparator<Zombie>() {
@Override
public int compare(Zombie z1, Zombie z2) {
if (z1.x() > z2.x())
return 1;
if (z1.x() < z2.x())
return -1;
return 0;
}
});

本质上,Comparator 是一个键,表示应如何通过其 compare 方法对列表进行排序。使用上面的 Comparator,如果 z1,我们认为 z1 大于 z2具有更高的 x 值(我们通过返回 1 来显示这一点)。基于此,我们对 list 进行排序。

关于java - 在 Java 中按属性值对对象 ArrayList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16751540/

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