Страницы

Поиск по вопросам

пятница, 5 октября 2018 г.

Что за методы removeAll и retainAll?

В гугле наткнулся на только такое описание:
removeAll(Collection c) — удаляет элементы, принадлежащие переданной коллекции retainAll(Collection c) — удаляет элементы, не принадлежащие переданной коллекции
Что значит "принадлежащие переданной коллекции" и "не принадлежащие переданной коллекции"?


Ответ

Предположим у вас коллекция есть:
List listFirst = new ArrayList<>(); listFirst.add("White"); listFirst.add("Black"); listFirst.add("Red");
и вторая:
List listSecond = new ArrayList<>();
listSecond.add("Green"); listSecond.add("Red"); listSecond.add("White");
Тогда после listFirst.retainAll(listSecond) в listFirst останется:
"White" "Red"
Так как удалился "Black", которого нет в listSecond
Но после listFirst.removeAll(listSecond) в listFirst останется:
"Black"
Удалились все элементы, которые есть в listSecond

Комментариев нет:

Отправить комментарий