问题标签 [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 投票
5 回答
1876 浏览

scala - 扩展 Scala 集合:基于数组索引的练习

作为一个练习,我想将 Scala Array 集合扩展到我自己的 OneBasedArray(如您所愿,索引从 1 开始)。由于这是一个不可变的集合,我希望它在调用过滤器/映射等时返回正确的类型。

我已经阅读了这里这里这里的资源,但我很难理解如何将其转换为数组(或示例中的集合以外的集合)。我在这种结构的正确轨道上吗?

是否有任何进一步的资源可以帮助解释扩展集合?

0 投票
4 回答
14738 浏览

scala - immutable.Map 的惯用“获取或更新”?

immutable.Map 实例的 getOrElseUpdate 的惯用方式是什么?我使用下面的代码片段,但它似乎冗长且效率低下

0 投票
1 回答
1781 浏览

java - 尝试将 java 隐式转换为 scala 集合时出现 NoSuchMethodError

我开始在我的代码中收到这种错误:

然后我看到一长串无趣的堆栈跟踪,这是在这段代码上触发的:

哪里authorsjava.lang.Set。有谁知道为什么会这样?这是运行时失败,而不是编译失败。

0 投票
2 回答
100 浏览

scala - 有效地返回scala排序集合中不存在键的下一个较大值?

在 scala 中,给定一个排序的映射、树或列表,返回不存在键的下一个较大值的最有效方法是什么?此外,是否可以从该元素开始获得“迭代器/光标”?

编辑:

我对“高效”的任何解释感到满意,例如“运行时”、“内存使用”、“清晰”或“花费尽可能少的程序员时间来实现和维护”(感谢 Kevin Wright)。

0 投票
3 回答
4710 浏览

performance - Scala:可变序列中最快的`remove(i:Int)`

scala.collection.mutable如果我打算remove(i: Int)在单线程环境中执行大量按索引删除,例如,我应该从包中采用哪个实现?最明显的选择ListBuffer表示它可能需要线性时间,具体取决于缓冲区大小。此操作是否有一些具有log(n)甚至恒定时间的集合?

0 投票
8 回答
5514 浏览

scala - Scala - 从 List 中获取独特的值

我有一个这样的列表:

我需要得到一个这样的列表:

发生了什么?

变成

(因为如果至少有一个 FAIL,我需要保留该条目)

代理 1 和代理 2 的条目保持不变,因为每个条目只有一个。

我找到的最接近的答案是 如何在 Scala 中找到 List 中的唯一项目, 但我不知道如何使用 FAIL 保留条目。

我希望问题很清楚,如果没有,我可以给你一个更好的例子。

谢谢

0 投票
1 回答
327 浏览

scala - Scala:这是 LinkedListLike 特征中的错误吗?

这是来自 2.8.1 的 Scala 标准库的源代码

这最后一行不应该是next = that.append(next)吗?(即把这个链表的其余部分放在我们要插入的列表的末尾?

如果不是,为什么不呢?该代码当前将我们插入的列表附加到当前列表的末尾 - 即与 apppend 相同。

0 投票
1 回答
650 浏览

scala - 在 Scala 中使用并行集合的首选方式是什么?

起初,我假设每个集合类都会收到一个附加par方法,该方法会将集合转换为合适的并行数据结构(例如map返回 Scala 2.8 中元素类型的最佳集合)。

现在似乎有些集合类支持par方法(例如 Array),但其他toParSeq集合类支持toParIterable方法(例如 List)。这有点奇怪,因为不经常使用或推荐 Array。

这是什么原因?par在所有集合类上都有一个可用的做“正确的事情”不是更好吗?

如果我有可能并行处理的数据,我应该使用什么类型?直接实现的特征scala.collection或类型?

还是我Arrays现在应该更喜欢,因为并行化它们似乎更便宜?

0 投票
2 回答
938 浏览

java - Scala 2.8.1 隐式转换为 java.util.List>

我有一个使用以下内容创建的 Scala 数据结构:

我想将它(使用or )隐式转换为 a以传递给期望后者的 Java 方法。scala.collection.JavaConversionsscala.collection.JavaConvertersjava.util.List<java.util.Map<String, Object>>

这可能吗?

我已经创建了以下方法,但想知道它是否可以由编译器自动完成?

0 投票
7 回答
8741 浏览

scala - 为什么 Scala 列表没有排序?

Scala 中的列表没有隐式排序是否有原因?

编辑

是的,我的问题是为什么没有内置的 Ordering 已经隐含在范围内。对我来说,很明显第二个列表应该“小于”第一个列表,因为 0 处的项目是相等的,而第二个列表的较低项目位于 1。我想知道当列表有两种不同的大小。