scala-collections相关内容

为什么在 Scala 2.8 中 Iterator 有一个 contains 方法但 Iterable 没有?

我想在我的 Iterables 上调用“包含":-) 解决方案 Iterable之所以没有contains方法是因为它的定义方式可以直接方差的后果.基本上,有两种类型签名对它有意义: def contains(v: Any): Booleandef contains(v: A): 布尔值 第二个定义提高了类型安全性.但是,集合的类型参数A出现在逆变位置,这迫使集合保持不变.可以这样定义 ..
发布时间:2022-01-10 14:44:29 其他开发

Scala 中的并行迭代器

是否有可能使用 Scala 的并行集合来并行化 Iterator 事先完全评估它? 这里我说的是在 Iterator 上并行化函数转换,即 map 和 flatMap.我认为这需要预先评估 Iterator 的一些元素,然后计算更多,一旦通过 next 消耗了一些元素. 我能找到的所有内容都需要将迭代器最多转换为 Iterable 或 Stream.当我调用 .par 时,Stream ..
发布时间:2021-12-30 21:13:40 其他开发

Scala 集合中的可变与不可变

我对 Scala 相当陌生,正在尝试了解集合层次结构.我看到“可变"和“不可变"集合之间存在区别,但我不明白这在实现级别实际上意味着什么以及这与 val 和 var.谁能给我一些这方面的见解?此外,是否每个集合类都有一个“可变"版本和一个“不可变"版本,或者是否有一些类只能是“可变"或“不可变"? 解决方案 可变意味着您可以就地更改集合.所以,如果你有一个集合 c 并且你附加了一个带有 + ..
发布时间:2021-12-27 18:16:57 其他开发

Scala 将 Collection 变成 Map-by-key 的最佳方式?

如果我有一个 T 类型的集合 c 并且在 T 上有一个属性 p(输入 P,比如说),做一个 map-by-extracting-key 的最佳方法是什么? val c: 集合[T]val m: 地图[P, T] 一种方法如下: m = new HashMap[P, T]c foreach { t =>m 添加 (t.getP, t) } 但现在我需要一个可变地图.有没有更好的方法来做到这一 ..
发布时间:2021-12-07 13:29:00 其他开发

将 Java 集合转换为 Scala 集合

关于堆栈溢出问题Scala 等效于 new HashSet(Collection) ,我该如何转换将 Java 集合(例如 java.util.List)转换为 Scala 集合 List? 我实际上是在尝试将 Java API 调用转换为 Spring 的 SimpleJdbcTemplate,它返回一个 java.util.List 到一个 Scala 不可变的 HashSet.例如: ..
发布时间:2021-12-07 13:20:38 Java开发

使用什么类型在 Scala 中存储内存中的可变数据表?

每次调用函数时,如果给定参数值集的结果尚未记忆,我想将结果放入内存表中.一列用于存储结果,其他列用于存储参数值. 我该如何最好地实现这一点?参数有多种类型,包括一些枚举. 在 C# 中,我通常使用 DataTable.Scala 中是否有等价物? 解决方案 你可以使用 mutable.Map[TupleN[A1, A2, ..., AN], R] ,或者如果内存是一个问题,一个 ..
发布时间:2021-12-07 13:10:06 其他开发

用过滤器代替过滤器

在之后应用 map、flatmap 等函数时,使用 withFilter 而不是 filter 总是更高效吗? 为什么只支持 map、flatmap 和 foreach?(预期的功能,如 forall/exists 以及) 解决方案 来自 Scala 文档: 注意:c filter p 和 c withFilter p 的区别在于前者创建一个新的集合,而后者只限制域后续的map ..

缩小、折叠或扫描(左/右)?

我应该什么时候使用reduceLeft、reduceRight、foldLeft、foldRight、scanLeft> 还是 scanRight? 我想对它们的差异有一个直观的/概述 - 可能是一些简单的例子. 解决方案 一般来说,所有 6 折函数都将二元运算符应用于集合的每个元素.每个步骤的结果传递到下一步(作为二元运算符的两个参数之一的输入).这样我们就可以累积一个结果. ..
发布时间:2021-12-07 13:05:51 其他开发

在 java 中将 java.util.HashMap 转换为 scala.collection.immutable.Map

我正在使用我的 Java 代码中的一些 Scala 库.我在收藏方面有问题.我需要将 scala.collection.immutable.Map 作为方法的参数传递.我可以从我的 Java 代码转换或构建 immutable.Map 但我不知道如何去做.建议? 解决方案 在 Java 代码中使用 JavaConverters 是完全可能的——只需要跳过几个额外的环节: import j ..
发布时间:2021-12-07 13:04:44 Java开发

scala中数组和列表的区别

在什么情况下我应该使用 Array(Buffer) 和 List(Buffer).我所知道的唯一一个区别是数组是非变量的,而列表是协变量的.但是性能和其他一些特性呢? 解决方案 Immutable Structures Scala List 是一个不可变的递归数据结构,它是 Scala 中的一个基本结构,您应该(可能)使用它比 Array (这实际上是可变 - Array 的不可变模 ..
发布时间:2021-11-18 04:48:09 其他开发