Замена комплекта без предварительной очистки - PullRequest
1 голос
/ 07 августа 2020

Я использую набор с поддержкой JPA. Поэтому, чтобы поставщик JPA не удалял все существующие записи и не вставлял новые, я хотел повторно использовать только значения и удалить те, которые действительно не совпадают.

Обычно я бы просто сделал

mySet.clear();
mySet.addAll(newlyComputedSet());

Но мне было интересно, есть ли хороший способ сделать это без clear()

1 Ответ

2 голосов
/ 07 августа 2020

Используйте keepAll : mySet.retainAll(newlyComputedSet()); Затем addAll

например,

Set<X> newSet = newlyComputedSet();
mySet.retainAll(newSet);
mySet.addAll(newSet);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...