У меня есть этот список:
private List<Set<Address>> scanList;
Итак, мой список содержит несколько сканирований, как вы можете видеть. После каждого сканирования я добавляю новый набор в список.
После того, как все сканирования завершены, я хотел бы взять только те адреса, которые встречаются в каждом наборе, и поместить их в:
private List<Address> addresses;
Что-то подобное уже существует в Set/TreeSet/HashSet?
РЕДАКТИРОВАТЬ: после ответов, keepAll() является правильным методом. Спасибо. Вот источник:
Set<Address> addressCross = scanList.get(0);
for (int i = 1; i < scanList.size(); i++) {
addressCross.retainAll(scanList.get(i));
}
for (Address address : addressCross) {
addresses.add(address);
}