Во-первых: я не могу найти правильный заголовок для этого поста.
Во-вторых: у меня есть 2 списка, и я пытаюсь объединить / обновить некоторые свойства списка на основе одного ключа.
List<MyClass> result = new ArrayList<MyClass>();
List<MyClass> intermediaryData = new ArrayList<MyClass>();
Оба списка имеют тот же T, что и MyClass, который содержит:
public String externalId; -- This is the unique id
public String companyName;
public String fiscalNumber;
public Integer noEmployees;
public Integer yearMonth;
Список "result" содержит:
externalId = "123"
companyName = "Demo"
Список "middlearyData" содержит:
externalId = "123"
fiscalNumber= "84564213"
noEmployees = 12
yearMonth = 201812
Теперь я не могу придумать, как объединить эти 2 списка базы со свойством "externalId", чтобы у меня был окончательный список со всеми установленными свойствами.
Уравнение:
externalId = "123"
companyName = "Demo"
fiscalNumber= "84564213"
noEmployees = 12
lastCloseYearMonth = 201812
Я могу сделать это с 2 форсами, но есть ли более быстрый способ использования потока.
for (ClientPayrollDataSummaryDTO r : result)
for (ClientPayrollDataSummaryDTO rs : returnedSummaryList)
if (r.externalId.contains(rs.externalId)) {
r.fiscalNumber = rs.fiscalNumber;
r.lastCloseYearMonth = rs.lastCloseYearMonth;
....
}