Это может быть глупо, но я не могу понять, у меня есть 2 разных массива JSON схемы.
массив JSON A
[
{
"name": "Robin",
"uid": 1234
},
{
"name": "Tom",
"uid": 8768
},
{
"name": "Eddy",
"uid": 4534
}
]
массив JSON B
[
{
"group": "Reign",
"admin": 8768
},
{
"group": "Hounds",
"admin": 1234
},
{
"group": "Dukes",
"admin": 5996
}
]
По существу значения uid в массиве JSON A и admin поля в массиве JSON B совпадают. Списки очень большие, поэтому итерация очень дорогая.
Моя задача - сопоставить элементы массива A с элементами массива B в соответствии с этими 2 полями (uid & admin). Также необходимо собрать лишние элементы Array A и лишние элементы Array B.
Что я сделал до сих пор
List<JsonObject> listOutput = jsonDataAList.stream()
.filter(e -> jsonDataBList.stream()
.map(JsonDataA::getUid)
.anyMatch(admin -> admin.equals(e.getAdmin())))
.collect(Collectors.toList());
Избиратели, пожалуйста, найдите время для любого объяснения
Спасибо заранее.