У меня есть два списка объекта заказчика. Один список представляет клиента с подпиской на XYZ, а другой - на пакет AB C. Я хочу объединить оба списка, но если в обоих списках есть какой-либо клиент с одинаковым идентификатором, я хочу обновить флаг, что он подписывается на оба пакета. Например, флаг равен 1, если пакет XYZ, 2, если AB C, и 3, если оба. Как я могу сделать это, используя java потоки? Я попытался использовать ниже, но это просто дать мне список одного общего.
List<FindCustomer> filteredList = xyzPackage.stream()
.filter(sh -> abcPackage.stream()
.anyMatch(sp ->
sh.getId().equals(sp.getId())))
.collect(Collectors.toList());