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

如何在Java中并行迭代集合?

姬衡
2023-03-14

是否可以在java中并行地迭代一个集合。我正在system.threading.tasks中寻找类似C#parallel.foreach的东西-命名空间

共有1个答案

越嘉石
2023-03-14

Java 1.8中的StreamAPI是在设计时考虑到并行性的,因此您可以将任何转换为并行流。例如:

 Stream.of(1,2,3,4,5,6,7).parallel().forEach(System.out::println);

事实上,每个都可以转换为并行流

Stream<Integer> parallel = stream.parallel();

collection提供了一个返回ParallelStream的方法。

Stream<Integer> parallel = Arrays.asList(1,2,3).parallelStream();
 类似资料:
  • 我试图遍历一个数据集来进行一些字符串相似性计算,如Jaro winkler或余弦相似性。我将数据集转换为行列表,然后用for语句遍历,这不是有效的spark方法。因此,我期待在Spark中找到更好的方法。 我发现了许多我不清楚的JavaRDD示例。数据集示例将对我有很大帮助。

  • 问题内容: 假设我有一个整数集,并且我想增加集合中的每个整数。我该怎么做? 我可以在迭代时添加和删除集合中的元素吗? 在迭代原始集合时,是否需要创建一个新集合以将元素“复制并修改”到其中? 编辑:如果集合中的元素是不可变的呢? 问题答案: 您可以在迭代期间使用Iterator对象安全地从集合中删除;尝试在迭代时通过其API修改集合会破坏迭代器。Set类通过getIterator()提供一个迭代器。

  • 当我执行此Java代码时: (注意:字符串参数是虚拟示例) 我有这个错误:com.google.cloud.bigquery.BigQueryException:读取数据时出错,错误消息:JSON表遇到太多错误,放弃。行:1;错误:1。请查看错误[]集合了解更多详细信息。 我想迭代此错误集合,但未能成功:( 有人能给我一个提示吗? 我在Python中发现了一些东西: 通过Python API加载J

  • 有没有一种方法我可以用某种方式迭代光标我可以暂停它,然后再继续?MongodbCursor保存最后访问的项目?我只知道foreach迭代,但是否有一些像这样的迭代? 如果有类似的东西存在,我可以保存查询的最后一个项目。提前致谢

  • 问题内容: 我正在寻找一个类,可以在其中重写方法来完成工作,并像迭代器一样返回结果。像这样: 这主要将用于蒙特卡洛模拟之类的事情,但我不想每次都要处理设置线程池和管理返回线程的问题。我开设了自己的班级, 希望能 完成这个任务,但是我对此没有足够的信心,以为我会检查是否已经存在这样的东西。 编辑:明确地说,我希望它在每个工作方法返回后继续在后台运行并对结果进行排队,直到完成所有试验为止。因此,下一个

  • 我有这样的数据: 我想创建一个新的列,将成本转换为美元。只是提一下,有12种货币。 这是我所写的: 使用这段代码,我得到了一个错误。