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

Java8流中的forEach与forEachOrdered

穆季萌
2023-03-14
System.out.println("forEach Demo");
Stream.of("AAA","BBB","CCC").forEach(s->System.out.println("Output:"+s));
System.out.println("forEachOrdered Demo");
Stream.of("AAA","BBB","CCC").forEachOrdered(s->System.out.println("Output:"+s));

产出:

forEach Demo
Output:AAA
Output:BBB
Output:CCC
forEachOrdered Demo
Output:AAA
Output:BBB
Output:CCC

请提供2个方法将产生不同输出的例子。

共有1个答案

锺威
2023-03-14
Stream.of("AAA","BBB","CCC").parallel().forEach(s->System.out.println("Output:"+s));
Stream.of("AAA","BBB","CCC").parallel().forEachOrdered(s->System.out.println("Output:"+s));

第二行将始终输出

Output:AAA
Output:BBB
Output:CCC

而第一个是不保证的,因为秩序没有得到遵守。ForeachOrdered将按照其源指定的顺序处理流的元素,而不管流是顺序的还是并行的。

引用foreachJavadoc:

 类似资料:
  • 我正在从文件中读取值并获取列表。如下- 一旦我得到这个

  • 在这篇文章中我将向你演示如何使用Java8中的foreach操作List和Map 1. Foreach操作Map 1.1 正常方式遍历Map Map<String, Integer> items = new HashMap<>(); items.put("A", 10); items.put("B", 20); items.put("C", 30); items.put("D", 40); ite

  • 在上使用外部迭代时,我们使用增强的for-each循环中的或作为: 如何使用Java 8 lambda表达式中的内部迭代来或:

  • 我试图理解新的Java8流,并且花了好几天的时间在Java8流中的集合上传输嵌套的foreach循环。 是否可以重构以下嵌套的foreach循环,包括Java-8-Streams中的if条件? 如果是,它会是什么样子。 非常感谢你的帮助。 溴

  • 主要内容:1 Java8 forEach方法的介绍,2 Java8 forEach方法的声明,3 Java8 forEach方法的案例1,4 Java8 forEach方法的案例21 Java8 forEach方法的介绍 Java提供了一个新的forEach() 方法来迭代元素。它在Iterable和Stream接口中定义。这是Iterable接口中定义的默认方法。扩展Iterable接口的集合类可以使用forEach循环来迭代元素。 此方法采用单个参数,该参数是功能接口。因此,您可以将lamb

  • 我有一个订单列表,我想使用Java8Stream和Collectors按用户分组。GroupingBy: 这将返回包含用户和订单列表的映射: 我不需要整个对象User,只需要它的username字段,它是一个字符串,所以我想获得如下内容: 我试图使用stream.map将用户映射到username字段,但无法正确实现。我怎样才能尽可能简单地做到这一点呢?