2016-03-10 176 views
1

我是java 8 lamdas的新手。我需要幫助下面的集合聚合和排序列表。 我有對象的ArrayList中具有列表使用lambdas的Java集合集合

[ 
[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個Lambda表達式中排序列表喜歡聚集上方集合。

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) ) 
    ); 

任何幫助將不勝感激。

回答

0

我不明白使用哪種排序標準來排序列表,但這裏是通用示例,但稍作修改即可適用於您的案例。

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

上述例子表明examplyee對象可以排序基於員工數量,但你可以改變,以適應你的情況的邏輯。