Scala 性能问题
在 Daniel Korzekwa 撰写的文章,他说下面代码的性能: list.map(e => e*2).filter(e => e>10) 比用Java写的迭代方案差很多。 谁能解释为什么? Scala…
使用 Scala 中的 java.util.Map
我需要通过以下方法使用 java 遗留代码: public void doit(Map vals) {...} 我的 Scala 代码: var map = new java.util.HashMap[String, Any] map +…
带有 Map 和 For 的 Scala 迭代器
给定: val list = List("one","two","three") val it = list.toIterator 我可以运行: list map ("_" +) -> List(_one, _two, _three) for (i List(_…
为什么 Array 需要 ClassManifest 而 List 不需要?
定义以下代码: import scala.collection.JavaConversions._ val iter:java.util.Iterator[Any] = Array[Any](1, 2, 3).iterator def func(a:Any):Str…
扩展 Scala 集合
我想派生一个 Scala 内置集合的版本,该版本扩展了特定泛型类型的功能,例如, import scala.collection.immutable._ class Tuple2Set[T1,T2] extends…
为什么Scala中foldLeft前面的过滤器很慢?
我写了第一个 Project Euler 问题的答案: 将所有 1000 以下并且是 3 或 5 的倍数的自然数相加。 我想到的第一件事是: (1 until 1000).filter(i => (…
使用 Scala 中的 for 循环中的值填充列表
我对 scala 很陌生,我无法解决这个(相当)微不足道的问题。 我知道我可以用这样的预定义值实例化一个列表: val myList = List(1,2) 我想用从 1 到 …
从 scala.xml.NodeSeq 创建一个 Map
我有以下 xml 节点: val xml = 现在我想创建一个以字段名称作为键的 Map[String, Node]。 for{x x) 使用上面的yield,我得到了一个地图列表: Li…
如何将非类型化 java.util.List 转换为 Scala 2.8 缓冲区
我必须调用一些返回非类型化 java.util.List 的 Java 库代码,并且我似乎无法将其转换为 Scala 2.8 列表,而编译器不会出现以下错误: [INFO] found :…
如何在 Scala 中定义自定义集合接口而不定义实现?
我正在尝试在 Scala 2.8 中定义自定义集合接口。我想要求子类是可遍历的,以及一些其他行为。我还希望像 map() 这样的方法返回适当的类型,如下所示:…
在 Scala 中使用并行集合的首选方式是什么?
起初,我假设每个集合类都会收到一个额外的 par 方法,该方法会将集合转换为合适的并行数据结构(例如 map 返回元素类型的最佳集合)在 Scala 2.8 中…
为什么 Scala 列表没有排序?
Scala 中的列表没有隐式排序是否有原因? val lists = List(List(2, 3, 1), List(2, 1, 3)) lists.sorted error: could not find implicit value for …
扩展 Scala 集合:一个基于数组索引的练习
作为练习,我想将 Scala Array 集合扩展到我自己的 OneBasedArray(执行您所期望的操作,索引从 1 开始)。由于这是一个不可变的集合,我希望它在调用…
尝试将 java 隐式转换为 scala 集合时出现 NoSuchMethodError
我开始在代码中收到这种错误: Message: java.lang.NoSuchMethodError:scala.collection.JavaConversions $.asScalaSet(Ljava/util/Set;)Lscala/colle…
有效地返回 scala 排序集合中不存在键的下一个较大值?
在 scala 中,给定一个排序的映射、树或列表,返回不存在键的下一个较大值的最有效方法是什么?此外,是否有可能获得从此元素开始的“迭代器/游标”?…