下面是一种可以摆脱两个foreach循环的解决方法:
List> listOfLists = new ArrayList<>();
listOfLists.add(Arrays.asList(1, 2, 3));
listOfLists.add(Arrays.asList(4, 5, 6));
listOfLists.add(Arrays.asList(7, 8, 9));
List flattenedList = listOfLists.stream()
.flatMap(List::stream)
.collect(Collectors.toList());
System.out.println(flattenedList);
这个示例中,我们有一个包含多个列表的listOfLists
列表。我们使用Java 8的Stream API,通过调用stream()
方法和flatMap()
操作符来将所有内部列表的元素平铺到一个新的列表flattenedList
中。最后,我们将flattenedList
打印出来。
这种方法避免了显式使用两个foreach循环,而是使用了一个foreach循环和一个flatMap操作符,更加简洁和优雅。