У меня есть 2 списка объектов карты.
"list1": [
{
"partyId": "1",
"accountId": "1",
"sourceSystem": "1",
},
{
"partyId": "2",
"accountId": "2",
"sourceSystem": "2",
}]
и это список 2.
"list2": [
{
"partyId": "3",
"accountId": "3",
"sourceSystem": "3",
},
{
"partyId": "1",
"accountId": "2",
"sourceSystem": "2",
}]
Теперь мне нужно объединить list1 и list2, чтобы получить этот вывод.
"merged": [
{
"partyId": "1",
"accountId": "1",
"sourceSystem": "1",
},
{
"partyId": "2",
"accountId": "2",
"sourceSystem": "2",
},
{
"partyId": "3",
"accountId": "3",
"sourceSystem": "3",
}]
, так что вы можете видеть, что это объединяет 1,2 и 3 из списка1 и списка2. Кроме того, поскольку list2 имеет один partyId = 1 (также в list1), но детали (accountId и sourceSystem) отличаются, поэтому выбран partyId = 1 в list1.
Как я могу сделать это с потоком Java 8? Или единственный способ - преобразовать их в объекты Java и выполнить цикл for.