outra solução de liner usando Java8
stream, como a flatMap
solução já foi lançada, aqui está uma solução semflatMap
List<E> li = lol.stream().collect(ArrayList::new, List::addAll, List::addAll);
ou
List<E> ints = Stream.of(list1, list2).collect(ArrayList::new, List::addAll, List::addAll);
código
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);
resultado
[[1, 2, 3], [4, 5, 6]]
[1, 2, 3, 4, 5, 6]