【发布时间】:2018-09-12 12:13:54
【问题描述】:
我有一个List<Provider>,里面有一个List<Invoice>;我想重新排序,如下所示:
public class Provider {
Long idProvider;
String name;
List<Invoice> invoiceList;
...
}
public class Invoice {
Long idInvoice;
Integer order;
BigDecimal value;
LocalDate dueDate;
...
}
但是每个Provider 它在一个列表中被多次填充,我需要重新排序,以便重复的Providers 留在一个中,而所有其他Invoice 放在一起;像这样:
Provider_A (记录 1)
- 发票_1
- 发票_2
Provider_A (记录 2)
- 发票_3
预期:
提供者_A
- 发票_1
- 发票_2
- 发票_3
我尝试使用Collectors.groupingBy,它可以工作,但它返回一个Map<Long, List<Provider>>,它必须是一个列表。我正在考虑使用它,然后切换到一个列表,但它看起来像是一种解决方法,也许它有更好的方式通过立即返回 List<Provider> 进行分组。有什么帮助吗?
【问题讨论】:
-
等等,什么?又是什么预期结果?
-
所以您的意思是按供应商名称尝试合并发票列表?
-
它必须返回一个 java.util.List @Eugene;是的,@manfromnowhere 按提供商名称合并发票列表,并以 java.util.List 形式返回
-
在这种情况下,如果我的答案是
ArrayList...
标签: java-8