Java List<List<String>>转List<String>
要将一个类型为 List<List> 的嵌套列表转换为类型为 List 的平面列表,可以使用 Java 8 的 flatMap 方法。该方法可以将一个流(Stream)中的每个元素映射为一个流,然后将这些流合并成一个流。
以下是将 List<List> 转换为 List 的示例代码:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Example { public static void main(String[] args) { List<List<String>> nestedList = new ArrayList<>(); nestedList.add(Arrays.asList("A", "B", "C")); nestedList.add(Arrays.asList("D", "E")); nestedList.add(Arrays.asList("F", "G", "H", "I")); List<String> flatList = nestedList.stream() .flatMap(List::stream) .collect(Collectors.toList()); System.out.println(flatList); } }
输出结果为:
[A, B, C, D, E, F, G, H, I]
在这个例子中,我们首先创建了一个类型为 List<List> 的嵌套列表,然后使用 stream 方法将其转换为一个流。接下来,使用 flatMap 方法将每个内部列表转换为一个流,并将所有流合并成一个流。最后,使用 collect 方法将流中的所有元素收集到一个类型为 List 的列表中。