温馨提示×

flatmap java能应用于哪些集合操作

小樊
83
2024-11-23 15:09:24
栏目: 编程语言

Java中的flatMap函数主要用于将多个集合或流合并为一个集合或流,并将每个集合或流中的元素转换为另一种形式

  1. 合并多个集合:flatMap可以将多个集合合并为一个集合。例如,你可以使用flatMap将一个List<List>转换为一个List
List<List<Integer>> lists = Arrays.asList(
    Arrays.asList(1, 2, 3),
    Arrays.asList(4, 5, 6),
    Arrays.asList(7, 8, 9)
);

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

System.out.println(flattenedList); // 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
  1. 将集合中的元素转换为另一种形式:flatMap可以将集合中的每个元素转换为另一种形式。例如,你可以使用flatMap将一个List转换为一个List,其中每个字符串表示一个整数。
List<String> stringList = Arrays.asList("1", "2", "3");

List<Integer> integerList = stringList.stream()
    .map(Integer::parseInt)
    .collect(Collectors.toList());

System.out.println(integerList); // 输出:[1, 2, 3]
  1. 将嵌套的集合扁平化:flatMap可以将嵌套的集合扁平化为一个集合。例如,你可以使用flatMap将一个List<Map<String, Integer>>转换为一个List
List<Map<String, Integer>> maps = Arrays.asList(
    Map.of("key1", 1, "key2", 2),
    Map.of("key1", 3, "key2", 4),
    Map.of("key1", 5, "key2", 6)
);

List<Integer> flattenedList = maps.stream()
    .flatMap(map -> map.values().stream())
    .collect(Collectors.toList());

System.out.println(flattenedList); // 输出:[1, 2, 3, 4, 5, 6]

总之,flatMap在Java中可以应用于多种集合操作,包括合并多个集合、将集合中的元素转换为另一种形式以及扁平化嵌套的集合。

0