突破特定集合类型的捷径?
scala> val m = Map(1 -> 2) m: scala.collection.immutable.Map[Int,Int] = Map(1 -> 2) scala> m.map{case (a, b) => (a+ 1, a+2, a+3)} …
在 Scala 2.8 集合中,为什么在 Iterable 之上添加 Traversable 类型?
我知道要实现 Traversable,您只需要一个 foreach 方法。 Iterable 需要一个iterator 方法。 Scala 2.8 集合 SID 和“Fighting Bitrot with Types”论…
如何在 Scala 2.8 中实现集合?
在尝试编写 API 时,我在 2.8(.0-beta1) 中的 Scala 集合中遇到了困难。 基本上我需要的是编写一些东西: 向某种类型的不可变集添加功能 ,其中所有方…
在 Scala 中创建并填充二维数组
在 Scala 中创建预填充二维数组的推荐方法是什么?我有以下代码: val map = for { x <- (1 to size).toList } yield for { y <- (1 to size).toL…
使用谓词从 scala 可变映射中删除元素的正确方法是什么
如何在不创建任何新集合的情况下做到这一点?还有比这更好的事情吗? val m = scala.collection.mutable.Map[String, Long]("1" -> 1, "2" -> 2, …
从 mutable.Map 到 immutable.Map 的 O(1) 转换?
有没有办法在 O(1) 时间内将可变 Map 转换(包装)为不可变(也就是说,不是通过复制值,而是类似于 JavaConversions 中所做的)…
scala 2.8 隐式 java 集合转换
我在 2.8 beta 中遇到 JavaConversions 问题: import scala.collection.JavaConversions._ class Utils(dbFile : File, sep: String) extends IUtils…
扩展 Scala 集合
我想要一个在尝试覆盖现有键的值时抛出的映射。我尝试过: trait Unoverwriteable[A, B] extends scala.collection.Map[A, B] { case class KeyAlread…
将 Scala Set 转换为 Java (java.util.Set)?
我在 Scala 中有一个 Set(在创建 Set 时可以选择任何实现。我使用的 Java 库需要 java.util.Set[String]。 以下是在 Scala 中执行此操作的正确方法吗…
Scala TreeMap 的奇怪之处;实施逆序排序
我有一个 Map[Long, String] 我想按键的降序对其进行迭代。我选择这样做的方式如下: var m: SortedMap[Long, String] = TreeMap.empty( (l: Long) =&…
为什么在 GenericTraversableTemplate 上声明 flatten 而不是在 TraversableLike 上声明?
TraversableLike.flatMap 的签名如下: def flatMap[B, Th](f : (A) => Traversable[B])(implicit bf : CanBuildFrom[Repr, B, Th]) : Th GenericTr…