Как пересекать несколько множеств?

У меня есть этот список:

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);
}
20
задан vale4674 26 October 2010 в 10:19
поделиться