使用lambdas的Java集合聚合

时间:2016-03-10 19:23:12

标签: java collections lambda

我是java 8 lamdas的新手。我需要有关以下集合聚合和排序列表的帮助。 我有对象的Arraylist有List

[
[parentName1,parentkey1, child1Name1, childKey1],
[parentName1,parentkey1, child1Name2, childKey2],
[parentName3,parentkey3, child1Name3, childKey3],
[parentName3,parentkey3, child1Name4, childKey4],
[parentName5,parentkey5, child1Name5, childKey5],
[parentName5,parentkey5, child1Name6, childKey6]
]

我想使用java 8 lambdas in到排序列表来聚合上面的集合。

List(Parent(parentName1,parentkey1,  List(  Child(child1Name1,childKey1),Child(child1Name2, childKey2)  ),
     Parent(parentName3,parentkey3,  List(  Child(child1Name3,childKey3),Child(child1Name4, childKey4)  ),
     Parent(parentName5,parentkey5,  List(  Child(child1Name5,childKey5),Child(child1Name5, childKey6)  )
     );

任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

我不理解你想要对列表进行排序的排序标准,但这里是一般的例子,但很少修改它也适用于你的情况。

  employeeList.stream()
            .sorted((e1, e2) -> Integer.compare(e1.getEmployeeNumber(), e2.getEmployeeNumber()))
            .forEach(e -> System.out.println(e));

上面的示例显示examplyee对象可以根据员工编号进行排序,但您可以更改逻辑以适合您的情况。