【问题标题】:Missing par method from Scala collectionsScala 集合中缺少 par 方法
【发布时间】:2019-07-31 09:32:36
【问题描述】:

我尝试在 Intellij 中将顺序列表转换为并行列表,但出现错误

无法解析符号par

关于.par方法调用:

import scala.collection.parallel.immutable._
...
val parList = List(1,2,3).par

根据https://docs.scala-lang.org/overviews/parallel-collections/overview.html,必须简单

在顺序集合 list 上调用 par 方法。之后,就可以像通常使用顺序收集一样使用并行收集。

让我奇怪的是,我在scala的当前不可变列表api中没有找到任何par方法:https://www.scala-lang.org/api/current/scala/collection/immutable/List.html

但甚至还有一个专用的 scala 文档页面用于顺序到并行转换,它使用 par 方法:https://docs.scala-lang.org/overviews/parallel-collections/conversions.html

关于我的设置

我在 Arch Linux 上,OpenJDK 10 设置为语言级别 9(在 Intellij 中)和 scala-sdk-2.13.0。

导入的库依赖:

  • scala-library (2.13.0)
  • scala-parallel-collections (2.13.0)

【问题讨论】:

  • import scala.collection.parallel.CollectionConverters._了吗?
  • 我没有。这样做可以解决我的问题!谢谢 :) 由于您没有在 Intellij 中获得有关 Scala(与 Java 编程相反)的导入建议,您有什么想法我怎么能找到该解决方案吗?我还是 Scala 的新手。

标签: scala parallel-processing scala-collections scala-2.13


【解决方案1】:

正如@Thilo 在评论中提到的,我缺少以下自 Scala 2.13 以来必需的导入:

import scala.collection.parallel.CollectionConverters._

来源:https://github.com/scala/scala-parallel-collections/issues/22

【讨论】:

    【解决方案2】:

    除了导入:

    import scala.collection.parallel.CollectionConverters._ 
    

    你还需要在你的maven项目的pom.xml中添加依赖:

    <dependency>
            <groupId>org.scala-lang.modules</groupId>
            <artifactId>scala-parallel-collections_2.13</artifactId>
            <version>0.2.0</version>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 2013-01-15
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 2017-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多