gpt4 book ai didi

Java数组按类排序

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

这是我正在尝试做的一个例子:

public class Item {
private int worth;

public Item(int worth) {
this.worth = worth;
}

public int getWorth() { return worth; }
}

public class Foo {
public Foo() {
List<Item> items = new ArrayList<>();
items.add(new Item(50));
items.add(new Item(892));
items.add(new Item(12));
// Sort?
}
}

这样元素就会像这样被订购

List{
Item(892)
Item(50)
Item(12)
}

不确定我应该从这里去哪里,如果我能弄清楚如何在类中按整数对它进行排序,Arrays.sort() 方法会很棒。

最佳答案

您可以创建自己的类来实现 Comparator<Item> .您需要定义的唯一方法是 the compare method ,比较 2 Item秒。它根据第一项是小于、等于还是大于第二项分别返回负数、0 或正数。

在这种情况下,对于降序排序,当第一项小于第二项时返回正数,当第一项大于第二项时返回负数。这将创建一个降序。

Arrays.sort用于数组,但是 Collections.sort对集合做同样的事情(并且它在内部使用 Arrays.sort 无论如何)。这两种方法只需要从调用者那里知道如何比较项目,以便它可以正确地对它们进行排序。

传递一个 Comparator 的实例调用 Collections.sort ,它会为您排序列表。

关于Java数组按类排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29835082/

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