gpt4 book ai didi

Java - 按子列表大小对列表进行排序

转载 作者:行者123 更新时间:2023-12-01 19:47:30 25 4
gpt4 key购买 nike

我正在尝试按当天的数量对下面的 worker 列表进行排序。但我无法找到正确的方法来做到这一点。我可以通过 ID 来订购它们,例如这样:

workers.stream().sorted(Comparator.comparingInt(Worker::getId)).collect(Collectors.toList());

但我找不到使用 Worker.getDays().size() 来订购它们的方法......

    "workers": [
{
"id": 1,
"days": ["Monday", "Wednesday", "Friday"]
},
{
"id": 2,
"days": ["Tuesday", "Thursday"]
},
{
"id": 3,
"days": ["Monday", "Tuesday", "Friday"]
},
{
"id": 4,
"days": ["Thursday"]
},
]

希望我能找到一个好的解决方案,提前致谢:)

最佳答案

只需使用 lambda-expression获取 worker 的工作天数和尺寸..

  List<Worker> workersSortedByDaysSize = workers.stream()
.sorted(Comparator.comparingInt(w -> w.getDays().size()))
.collect(Collectors.toList());

这假设 days 不null

关于Java - 按子列表大小对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52616704/

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