溫馨提示×

java flatmap怎樣簡化操作

小樊
81
2024-11-16 08:35:32
欄目: 編程語言

Java中的flatMap是一個強大的工具,它可以將多個流合并成一個流,并將嵌套的流扁平化為一個流。以下是一些使用flatMap簡化操作的示例:

  1. 將嵌套的Stream扁平化:
List<List<Integer>> nestedList = Arrays.asList(
        Arrays.asList(1, 2, 3),
        Arrays.asList(4, 5, 6),
        Arrays.asList(7, 8, 9)
);

List<Integer> flattenedList = nestedList.stream()
        .flatMap(list -> list.stream())
        .collect(Collectors.toList());

System.out.println(flattenedList); // 輸出: [1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 將多個Stream合并成一個Stream:
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
  1. 在map操作后使用flatMap進行扁平化:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");

List<String> lowerCaseNames = names.stream()
        .map(String::toLowerCase)
        .collect(Collectors.toList());

Stream<String> combinedStream = lowerCaseNames.stream()
        .flatMap(name -> Arrays.stream(name.split("")));

combinedStream.forEach(System.out::println); // 輸出: a, l, i, c, e, b, o, b, c, h, a, r, l, i, e

通過這些示例,您可以看到如何使用flatMap簡化操作,將嵌套的Stream扁平化,將多個Stream合并成一個Stream,以及在map操作后使用flatMap進行扁平化。

0