Java中的flatMap是一種將多個(gè)集合或流合并為一個(gè)集合或流的方法。它主要用于處理嵌套的集合結(jié)構(gòu),將其扁平化為一個(gè)單一的集合。flatMap是Stream API的一部分,可以與Java 8及更高版本一起使用。
以下是使用flatMap處理集合的一些示例:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class FlatMapExample {
public static void main(String[] args) {
List<List<Integer>> nestedList = new ArrayList<>();
nestedList.add(Arrays.asList(1, 2, 3));
nestedList.add(Arrays.asList(4, 5, 6));
nestedList.add(Arrays.asList(7, 8, 9));
List<Integer> flattenedList = nestedList.stream()
.flatMap(list -> list.stream())
.collect(Collectors.toList());
System.out.println("Flattened list: " + flattenedList);
}
}
輸出:
Flattened list: [1, 2, 3, 4, 5, 6, 7, 8, 9]
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class FlatMapExample {
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(4, 5, 6);
List<Integer> list3 = Arrays.asList(7, 8, 9);
Stream<Integer> combinedStream = Stream.of(list1, list2, list3)
.flatMap(list -> list.stream());
combinedStream.forEach(System.out::println);
}
}
輸出:
1
2
3
4
5
6
7
8
9
在這些示例中,我們使用了flatMap方法將嵌套的集合扁平化為一個(gè)集合,以及將多個(gè)集合合并為一個(gè)流。flatMap非常適用于處理嵌套數(shù)據(jù)結(jié)構(gòu),使其更易于處理和操作。