问题标签 [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.
scala - immutable.Map 的惯用“获取或更新”?
immutable.Map 实例的 getOrElseUpdate 的惯用方式是什么?我使用下面的代码片段,但它似乎冗长且效率低下
java - 尝试将 java 隐式转换为 scala 集合时出现 NoSuchMethodError
我开始在我的代码中收到这种错误:
然后我看到一长串无趣的堆栈跟踪,这是在这段代码上触发的:
哪里authors
是java.lang.Set
。有谁知道为什么会这样?这是运行时失败,而不是编译失败。
scala - 有效地返回scala排序集合中不存在键的下一个较大值?
在 scala 中,给定一个排序的映射、树或列表,返回不存在键的下一个较大值的最有效方法是什么?此外,是否可以从该元素开始获得“迭代器/光标”?
编辑:
我对“高效”的任何解释感到满意,例如“运行时”、“内存使用”、“清晰”或“花费尽可能少的程序员时间来实现和维护”(感谢 Kevin Wright)。
performance - Scala:可变序列中最快的`remove(i:Int)`
scala.collection.mutable
如果我打算remove(i: Int)
在单线程环境中执行大量按索引删除,例如,我应该从包中采用哪个实现?最明显的选择ListBuffer
表示它可能需要线性时间,具体取决于缓冲区大小。此操作是否有一些具有log(n)
甚至恒定时间的集合?
scala - Scala - 从 List 中获取独特的值
我有一个这样的列表:
我需要得到一个这样的列表:
发生了什么?
变成
(因为如果至少有一个 FAIL,我需要保留该条目)
代理 1 和代理 2 的条目保持不变,因为每个条目只有一个。
我找到的最接近的答案是 如何在 Scala 中找到 List 中的唯一项目, 但我不知道如何使用 FAIL 保留条目。
我希望问题很清楚,如果没有,我可以给你一个更好的例子。
谢谢
scala - Scala:这是 LinkedListLike 特征中的错误吗?
这是来自 2.8.1 的 Scala 标准库的源代码
这最后一行不应该是next = that.append(next)
吗?(即把这个链表的其余部分放在我们要插入的列表的末尾?
如果不是,为什么不呢?该代码当前将我们插入的列表附加到当前列表的末尾 - 即与 apppend 相同。
scala - 在 Scala 中使用并行集合的首选方式是什么?
起初,我假设每个集合类都会收到一个附加par
方法,该方法会将集合转换为合适的并行数据结构(例如map
返回 Scala 2.8 中元素类型的最佳集合)。
现在似乎有些集合类支持par
方法(例如 Array),但其他toParSeq
集合类支持toParIterable
方法(例如 List)。这有点奇怪,因为不经常使用或推荐 Array。
这是什么原因?par
在所有集合类上都有一个可用的做“正确的事情”不是更好吗?
如果我有可能并行处理的数据,我应该使用什么类型?直接实现的特征scala.collection
或类型?
还是我Arrays
现在应该更喜欢,因为并行化它们似乎更便宜?
java - Scala 2.8.1 隐式转换为 java.util.List>
我有一个使用以下内容创建的 Scala 数据结构:
我想将它(使用or )隐式转换为 a以传递给期望后者的 Java 方法。scala.collection.JavaConversions
scala.collection.JavaConverters
java.util.List<java.util.Map<String, Object>>
这可能吗?
我已经创建了以下方法,但想知道它是否可以由编译器自动完成?
scala - 为什么 Scala 列表没有排序?
Scala 中的列表没有隐式排序是否有原因?
编辑
是的,我的问题是为什么没有内置的 Ordering 已经隐含在范围内。对我来说,很明显第二个列表应该“小于”第一个列表,因为 0 处的项目是相等的,而第二个列表的较低项目位于 1。我想知道当列表有两种不同的大小。