在Java中,使用flatMap
處理嵌套列表時,需要先將嵌套列表扁平化為一個單一的列表。這可以通過遞歸實現。下面是一個示例,展示了如何使用flatMap
處理嵌套列表:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class FlatMapNestedList {
public static void main(String[] args) {
List<List<Integer>> nestedList = Arrays.asList(
Arrays.asList(1, 2, 3),
Arrays.asList(4, 5, 6),
Arrays.asList(7, 8, 9)
);
List<Integer> flattenedList = flattenList(nestedList);
System.out.println("Flattened list: " + flattenedList);
}
public static List<Integer> flattenList(List<List<Integer>> nestedList) {
return nestedList.stream()
.flatMap(list -> list.stream())
.collect(Collectors.toList());
}
}
在這個示例中,我們首先創建了一個包含嵌套列表的nestedList
。然后,我們使用flattenList
方法將嵌套列表扁平化為一個單一的列表。flattenList
方法使用stream()
和flatMap
方法將嵌套列表的每個元素轉換為單個元素,并使用collect()
方法將它們收集到一個新的列表中。
運行這個示例,你將看到以下輸出:
Flattened list: [1, 2, 3, 4, 5, 6, 7, 8, 9]
這個示例展示了如何使用flatMap
處理嵌套列表。你可以根據需要修改代碼以處理其他類型的嵌套列表。