gpt4 book ai didi

java - 如何通过检查 Java 内部列表中的值来对列表进行排序?

转载 作者:行者123 更新时间:2023-12-02 16:03:20 24 4
gpt4 key购买 nike

我有一个像下面这样的类,

public class Inventory {

private String name;
private List<Sample> samples;
}

public class Sample {

private int count;
private String date;
}

List<Inventory> inventories;

我已按日期对示例 进行了排序。没关系。但我需要按 Sample 类中的 date 字段对 inventories 列表进行排序。 samples 已经排序。所以我需要库存按 sample 日期 DESC 排序。例如,

inventories 列表中,如果它有 3 个数据,

Inventory 1
name = 1
samples has dates of = List of (2021-07-02, 2021-07-03)

Inventory 2
name = 2
samples has dates of = List of (2021-07-02, 2021-09-03, 2021-10-03)

Inventory 3
name = 3
samples has dates of = List of (2021-08-02, 2021-09-03)

所以它应该按日期 DESC 排序,在 inventories 列表中,它应该有以下方式的数据,

Inventory 1
Inventory 3
Inventory 2

最佳答案

您想根据嵌套集合中的值对集合进行排序。我们如何做到这一点?

您需要实现自定义比较器才能执行此操作...

static class InventoryComparator implements Comparator<Inventory> {
public int compare(Inventory i1, Inventory i2) {
// compare them here like this
// a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
// this can be done by checking the nested lists
}
}

然后你可以像这样对你的 Collection 进行排序......

Collections.sort(inventoryList, new InventoryComparator());

关于java - 如何通过检查 Java 内部列表中的值来对列表进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70111949/

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