Я пытаюсь перебрать три списка разного размера, но не получаю точную логику того, как я могу извлечь из них данные и сохранить в другом списке.
Мне удалось обработать до двух списков, пока я не добавлю еще немного фильтрации к элементам. Сейчас я использую 3 для циклов, но я хочу использовать потоки Java 8, если это возможно. Может кто-нибудь предложить мне правильную логику для приведенных ниже итераций.
public class CustomDto {
public static void main(String... args) {
List<String> list1 = Arrays.asList("Hello", "World!");
List<String> list2 = Arrays.asList("Hi", "there");
List<String> list3 = Arrays.asList("Help Me");
Map<Integer, Object> map = new HashMap<>();
for (int i = 0; i < list1.size(); i++) {
List<String> list4 = new LinkedList();
for (int j = 0; j < list2.size(); j++) {
for (int k = 0; k < list3.size(); k++) {
if (!(list2.get(j).equals(list3.get(k))))
list4.add(list2.get(j));
}
if (j > list4.size() - 1) {
list4.add(null);
}
}
map.put(i, list4);
}
}
}
Все, что я хочу преобразовать вышеупомянутый код в поток, в котором я могу перебрать список внутри другого списка и использовать индекс друг друга.