gpt4 book ai didi

java - Comparator.comparing 使用嵌套对象的字段对列表进行排序

转载 作者:行者123 更新时间:2023-12-02 03:26:18 51 4
gpt4 key购买 nike

我想根据嵌套类的属性对如下所示的列表进行排序。

class Test {
private NestedClass nestedClass;
private AnotherNested anotherNested;
private int id;
//getter, setter
}

class NestedClass {
private String field1;
private int field2;
// getter,setter
}

List<Test> tests = service.getTests(string something);

我想使用 Comparator.comparingnestedClass 中的 field1 对测试进行排序。我在下面尝试过,但似乎不起作用

tests.stream().sorted(Comparator.comparing(test->test.getNestedClass().getField1()));

最佳答案

您正在调用sorted API Stream但不将排序后的流收集到List<Test>中更远。出于同样的原因,您使用的代码行不会执行任何操作。

要执行就地操作,您应该调用 sort API List界面为:

tests.sort(Comparator.comparing(test -> test.getNestedClass().getField1()));

或者完成收集数据的流操作作为终端操作,如下所示:

List<Test> sortedTests = tests.stream()
.sorted(Comparator.comparing(test->test.getNestedClass().getField1()))
.collect(Collectors.toList());

关于java - Comparator.comparing 使用嵌套对象的字段对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60905596/

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