Уникальное значение

Всем привет, вопрос такой. приходит 2 коллекции, колекция1 и колекция2 . нужно в колекцию2 положить только уникальные значения, но если таких значений нет в колекции1 они не нужны, есть ли какой то метод(подозреваю что есть) не создавая 3 коллекцию, это сделать.

пример в колекции1 лежит 1,6,7,8. в колекции2 лежит 1,2,3. должно получится колекция2 в которой 1,6,7,8


Ответы (1 шт):

Автор решения: had0uken

Вам подойдет метод addAll+retainAll, насколько я понял задачу Код ниже:

public class Test {
    public static void main(String args[]) {
        Set<Integer> set1 = new HashSet<>();
        Set<Integer> set2 = new HashSet<>();
        set1.add(1);
        set1.add(6);
        set1.add(7);
        set1.add(8);
        set2.add(1);
        set2.add(2);
        set2.add(3);
        set2= (Set<Integer>) method(set1,set2);
        System.out.println(set2);
    }
    static Collection<Integer> method(Collection<Integer> col1, Collection<Integer> col2) {
        col2.addAll(col1);
        col1.retainAll(col2);
      return col1;
    }
}

Выход

[1, 6, 7, 8]

Process finished with exit code 0
→ Ссылка