Tag: 斯卡拉集合

Scala:Scala集合中的Traversable和Iterable特性有什么区别?

我已经看了这个问题,但仍然不明白Iterable和Traversable特性之间的区别。 有人可以解释吗?

将Java集合转换为Scala集合

相关的堆栈溢出问题斯卡拉相当于新的HashSet(集合) ,我如何将一个Java集合( java.util.List说)转换成一个Scala集合List ? 我实际上正在尝试将Java API调用转换为Spring的 SimpleJdbcTemplate ,它将java.util.List<T>返回到Scala不可变的HashSet 。 举个例子: val l: java.util.List[String] = javaApi.query( … ) val s: HashSet[String] = //make a set from l 这似乎工作。 批评是受欢迎的! import scala.collection.immutable.Set import scala.collection.jcl.Buffer val s: scala.collection.Set[String] = Set(Buffer(javaApi.query( … ) ) : _ *)

在Scala中转换地图的优雅方法

现在学习Scala并需要将一个Map转换为一些倒转的值 – >键查找。 我正在寻找一个简单的方法来做到这一点,但只想到: (Map() ++ origMap.map(kvp=>(kvp._2->kvp._1))) 任何人有一个更优雅的方法?

stream与视图vs迭代器

Streams,Views(SeqView)和scala中的迭代器有什么区别? 这是我的理解: 他们都是懒惰的名单。 streamcaching值。 迭代器只能使用一次? 你不能回到开始,再次评估价值? 视图的值不被caching,但您可以一次又一次地评估它们? 所以,如果我想节省堆空间,我应该使用迭代器(如果我不会再遍历列表)或视图? 谢谢。

Java中的JavaConverters和JavaConversions之间有什么区别?

在scala.collection ,有两个非常相似的对象JavaConversions和JavaConverters 。 这两个对象有什么区别? 他们为什么都存在? 我什么时候想要使用一个?

为什么Scala的不可变集合在它的types中不是协变的?

编辑 :根据原来的答案重新写这个问题 scala.collection.immutable.Set类在其types参数中不是协变的。 为什么是这样? import scala.collection.immutable._ def foo(s: Set[CharSequence]): Unit = { println(s) } def bar(): Unit = { val s: Set[String] = Set("Hello", "World"); foo(s); //DOES NOT COMPILE, regardless of whether type is declared //explicitly in the val s declaration }