Логическое соединение для нескольких массивов - PullRequest
0 голосов
/ 05 января 2012

Есть несколько arraylists (количество arraylists априори неизвестно). В каждом массиве мне нужно найти элемент, который обеспечивает логическую связь с элементами из других списков. Обратите внимание, что сравнение выполняется только для ненулевых значений.

ArrayList<Integer[]> list1 = new ArrayList<Integer[]>();
ArrayList<Integer[]> list2 = new ArrayList<Integer[]>();
ArrayList<Integer[]> list3 = new ArrayList<Integer[]>();

list1.add(new Integer[]{1,2,3,4});
list1.add(new Integer[]{1,4,5,6});

list2.add(new Integer[]{1,4,null,null});

list3.add(new Integer[]{null,null,null,5});
list3.add(new Integer[]{null,null,null,6});

В этом случае ответ должен быть:

list1: {1,4,5,6}
list2: {1,4,null,null}
list3: {null,null,null,6}

Поскольку число arraylists неизвестно, я решил использовать рекурсию. Однако, возможно, могут быть более простые решения?

1 Ответ

1 голос
/ 06 января 2012

Звучит так, как будто вы хотите использовать превосходные библиотеки guava от Google .Проверьте Наборы классов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...