еще одно линейное решение с использованием Java8
потока, так как flatMap
решение уже опубликовано, вот решение безflatMap
List<E> li = lol.stream().collect(ArrayList::new, List::addAll, List::addAll);
или
List<E> ints = Stream.of(list1, list2).collect(ArrayList::new, List::addAll, List::addAll);
код
List<List<Integer>> lol = Arrays.asList(Arrays.asList(1, 2, 3), Arrays.asList(4, 5, 6));
List<Integer> li = lol.stream().collect(ArrayList::new, List::addAll, List::addAll);
System.out.println(lol);
System.out.println(li);
вывод
[[1, 2, 3], [4, 5, 6]]
[1, 2, 3, 4, 5, 6]