Java中的flatMap函数主要用于将多个集合或流合并为一个集合或流,并将每个集合或流中的元素转换为另一种形式
- 合并多个集合:flatMap可以将多个集合合并为一个集合。例如,你可以使用flatMap将一个List
- >转换为一个List
。
List> lists = Arrays.asList( Arrays.asList(1, 2, 3), Arrays.asList(4, 5, 6), Arrays.asList(7, 8, 9) ); List
flattenedList = lists.stream() .flatMap(list -> list.stream()) .collect(Collectors.toList()); System.out.println(flattenedList); // 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
- 将集合中的元素转换为另一种形式:flatMap可以将集合中的每个元素转换为另一种形式。例如,你可以使用flatMap将一个List
转换为一个List ,其中每个字符串表示一个整数。
ListstringList = Arrays.asList("1", "2", "3"); List integerList = stringList.stream() .map(Integer::parseInt) .collect(Collectors.toList()); System.out.println(integerList); // 输出:[1, 2, 3]
- 将嵌套的集合扁平化:flatMap可以将嵌套的集合扁平化为一个集合。例如,你可以使用flatMap将一个List
List
总之,flatMap在Java中可以应用于多种集合操作,包括合并多个集合、将集合中的元素转换为另一种形式以及扁平化嵌套的集合。