当前位置: 首页 > 知识库问答 >
问题:

Java 8 Streams FlatMap方法示例

束涵涤
2023-03-14

我一直在检查即将到来的Java更新,即:Java 8或JDK8。是的,我很不耐烦,有很多新东西,但是,有些东西我不明白,一些简单的代码:

final Stream<Integer>stream = Stream.of(1,2,3,4,5,6,7,8,9,10);
stream.flatMap();

javadocs是

public stream flatMap(函数<?super T,?extends stream<?extends r>>映射器)

共有1个答案

谢财
2023-03-14

对一个已经扁平的流(如您在问题中所示的Stream )使用flatmap是没有意义的。

但是,如果您有一个stream > ,那么它就有意义了,您可以这样做:

Stream<List<Integer>> integerListStream = Stream.of(
    Arrays.asList(1, 2), 
    Arrays.asList(3, 4), 
    Arrays.asList(5)
);

Stream<Integer> integerStream = integerListStream .flatMap(Collection::stream);
integerStream.forEach(System.out::println);

它将打印:

1
2
3
4
5
List<List<Integer>> integerLists = Arrays.asList(
    Arrays.asList(1, 2), 
    Arrays.asList(3, 4), 
    Arrays.asList(5)
)

List<Integer> flattened = new ArrayList<>();

for (List<Integer> integerList : integerLists) {
    flattened.addAll(integerList);
}

for (Integer i : flattened) {
    System.out.println(i);
}
 类似资料:
  • 本文向大家介绍PHP中list方法用法示例,包括了PHP中list方法用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP中list方法用法。分享给大家供大家参考,具体如下: 输出: 改变一下 输出: 再变一下 输出: 再变一下,举一反三学习法 输出: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《php排序算法总结》、《php字符

  • 本文向大家介绍Java String split()方法示例。,包括了Java String split()方法示例。的使用技巧和注意事项,需要的朋友参考一下 String类的split(String regex,int limit)方法。将当前字符串拆分为给定正则表达式的匹配项。 此方法返回的数组包含此字符串的每个子字符串,该子字符串由另一个与给定表达式匹配的子字符串终止或由该字符串的结尾终止。

  • 本文向大家介绍Java String intern()方法示例。,包括了Java String intern()方法示例。的使用技巧和注意事项,需要的朋友参考一下 String类的 intern()方法返回字符串对象的规范表示。因此,对于任意两个字符串s和t,当且仅当s.equals(t)为true时,s.intern()== t.intern()为true。 示例 输出结果

  • 本文向大家介绍Java toRadians ()方法与示例,包括了Java toRadians ()方法与示例的使用技巧和注意事项,需要的朋友参考一下 java.lang.Math.toRadians(double angdeg)将以度为单位的角度转换为以弧度为单位的近似等效角度。从度到弧度的转换通常是不精确的。 示例 在此,角度法是角度,以度为单位。现在让我们看一个例子- 输出结果 示例 让我们

  • 本文向大家介绍Java String replace()方法示例。,包括了Java String replace()方法示例。的使用技巧和注意事项,需要的朋友参考一下 String类的replace()方法接受两个参数,即- oldChar-旧字符。  newChar-新字符。 返回一个新的String,该字符串是用newChar替换此字符串中所有出现的oldChar的结果。 示例 输出结果

  • 本文向大家介绍Java Random setSeed()方法与示例,包括了Java Random setSeed()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random 类法 setSeed()方法在java.util包中可用。 setSeed()方法用于设置此随机数生成器的给定种子。 setSeed()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错

  • 本文向大家介绍Java Random nextLong()方法与示例,包括了Java Random nextLong()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random 类法 nextLong()方法在java.util包中可用。 nextLong()方法用于从此随机值生成器生成下一个伪随机分布的long值。 nextLong()方法是一个非静态方法,只能通过类对象访问,如果尝试使

  • 本文向大家介绍Java Random nextInt()方法与示例,包括了Java Random nextInt()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random Class nextInt ()方法 语法: nextInt()方法在java.util包中可用。 nextInt()方法用于从此随机值生成器返回下一个伪随机值。 nextInt(int num)方法用于从此随机数生成