【发布时间】:2019-05-05 15:57:18
【问题描述】:
首先:我无法为这篇文章找到合适的标题。
其次:我有 2 个列表,我正在尝试基于一个键合并/更新一些列表属性。
List<MyClass> result = new ArrayList<MyClass>();
List<MyClass> intermediaryData = new ArrayList<MyClass>();
两个列表都具有与 MyClass 相同的 T,其中包含:
public String externalId; -- This is the unique id
public String companyName;
public String fiscalNumber;
public Integer noEmployees;
public Integer yearMonth;
列表“结果”包含:
externalId = "123"
companyName = "Demo"
列表“intermediaryData”包含:
externalId = "123"
fiscalNumber= "84564213"
noEmployees = 12
yearMonth = 201812
现在,我想不出一种方法来合并这 2 个基于“externalId”属性的列表,以便我将拥有一个包含所有属性集的最终列表。
方程:
externalId = "123"
companyName = "Demo"
fiscalNumber= "84564213"
noEmployees = 12
lastCloseYearMonth = 201812
我可以使用 2 个 fors 来实现,但有没有使用流的“更快”方式。
for (ClientPayrollDataSummaryDTO r : result)
for (ClientPayrollDataSummaryDTO rs : returnedSummaryList)
if (r.externalId.contains(rs.externalId)) {
r.fiscalNumber = rs.fiscalNumber;
r.lastCloseYearMonth = rs.lastCloseYearMonth;
....
}
【问题讨论】:
标签: java arraylist merge java-stream array-merge