问题标签 [scala-collections]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
6550 浏览

scala - Scala:为什么 Seq.contains 采用 Any 参数,而不是序列类型的参数?

那么例如为什么List(1,2,3,4).contains("wtf")还要编译呢?如果编译器拒绝这个不是很好吗?

0 投票
1 回答
354 浏览

scala - scala 2.8集合不一致?

为什么方法transform(就地突变版本map)和retain(就地突变版本filter)仅定义在mutable.Map而不是定义在mutable.Buffer和上mutable.Set?不应该所有可变集合都支持这些方法吗?

0 投票
2 回答
694 浏览

scala - scaladoc 用于地图上的地图

根据 Map 对象上的 map 方法的 scaladoc,它应该返回一个新的 Map:

“返回一个新的地图,通过将给定的函数 f 应用于该地图的每个元素并收集结果。”

但它没有:

不过,这种行为是我所期望的。那么文档是错误的,还是我遗漏了什么?

0 投票
2 回答
3964 浏览

scala - Scala for-comprehension 返回有序映射

我如何使用一个 for-comprehension 来返回我可以分配给有序 Map 的东西?这是我拥有的代码的简化:

我需要确保我的结果是一个有序的 Map,按照从 for-comprehension 返回元组的顺序。

有了上面,我得到了错误:

这编译:

但后来我假设地图不会被订购,我需要一个明确的 toMap 调用。

我怎样才能做到这一点?

0 投票
6 回答
24740 浏览

scala - Scala Map 实现按插入顺序保持条目?

在 Java 中,我LinkedHashMap用于此目的。Java 的文档LinkedHashMap非常清楚,它具有“可预测的迭代顺序”,而我在 Scala 中也需要它。

Scala 有ListMapand LinkedHashMap,但是关于他们所做的事情的文档很差。

问题:是 Scala 的LinkedHashMap还是ListMap用于此目的的实现?如果没有,除了直接使用 Java 之外,还有哪些可用的选项LinkedHashMap

0 投票
2 回答
295 浏览

scala - 新到 2.8 集合。这个签名会是什么样子?类似于 scalaz 序列

我今天发现一篇文提到了 scalaz 的序列函数。

你不能做一些简单的事情:

如果是这样,这个函数签名会是什么样子? 包含在 SeqLike 中,对吗?

此外,从博客文章中,我认为 sequence 将类似于 map,但一旦遇到 None 就会中断。有这样的事情吗?

0 投票
3 回答
1046 浏览

scala - 如何编写一个 zipWith 方法来返回与传递给它的集合相同类型的集合?

我已经到了这一步:

现在的问题是上面的方法总是返回一个Iterable. 如何让它返回传递给它的类型集合?(在这种情况下,Vector)谢谢。

0 投票
4 回答
12586 浏览

scala - 重新分配给 Scala 中的 val

我正在 Scala 中进行培训练习并遇到此 val 重新分配错误。我看不到在哪里将新值重新分配给 val

我收到了这个错误

0 投票
2 回答
689 浏览

scala - Scala:保存成对字符串的好方法

对于小型集合,保存不一定是键值(可能具有重复键)的字符串对的一种简洁方法是什么?List[List[String]] 显然有效,但看起来很脏。

干杯
帕萨

0 投票
4 回答
14058 浏览

scala - 在地图中捕获异常

在 Scala 中迭代循环时处理异常的最佳方法是什么?

例如,如果我有一个convert()可以抛出异常的方法,我想捕获该异常,记录它并继续迭代。有没有“scala”方式来做到这一点?

理想情况下,我想要类似...

您不能执行上述代码,因为它不是从一个列表到另一个列表的直接映射(您返回Seq[Any]而不是Seq[ConvertedPoint])。