Я пытаюсь найти пересечение между несколькими наборами чисел.Например, я хочу найти пересечение между следующими 3 массивами чисел:а = {0,1,1}б = {1,1,2}с = {0,1,2}Результат должен быть:пересечение (a, b, c) = {1}но когда я делаю это [последовательно] (см. включенный код ниже), я получаю: intersection = {1,1}.Что мне делать по-другому, чтобы получить желаемый результат?
Спасибо,MGR
ArrayList<Integer> a = new ArrayList<>(Arrays.asList(new Integer[] {0,1, 1}));
ArrayList<Integer> b = new ArrayList<>(Arrays.asList(new Integer[]{2, 1, 1}));
ArrayList<Integer> c = new ArrayList<>(Arrays.asList(new Integer[]{0,2,1}));
ArrayList<Integer> intersection = a;
/*System.out.println("intersection is "+intersection);
System.out.println("b is\t"+b);
System.out.println("A and B");*/
//System.out.println(intersection.retainAll(b));
intersection.retainAll(b);
System.out.println("intersection now is "+intersection);
/*System.out.println(intersection==null);
System.out.println(intersection.isEmpty());
System.out.println("Doing c:");
System.out.println("c is\t"+c);
System.out.println(intersection.retainAll(c));*/
intersection.retainAll(c);
System.out.println("intersection is "+intersection);