我已经为scala.collection.mutable.SortedSet:
尝试了以下所有内容var s = SortedSet[Array[Int]]
var s = SortedSet[Array[Int]]()
var s = new SortedSet[Array[Int]]
var s = new SortedSet[Array[Int]]()
var s = SortedSet[Array]
var s = SortedSet[Array]()
var s = new SortedSet[Array]()
我不知道为什么要在Scala中声明这些东西是如此困难。我想要的只是一组有序的Int-arrays。
答案 0 :(得分:2)
SortedSet
不是“默认”集合,因此未在Predef
中定义。
首先导入它然后它应该工作:
import scala.collection.SortedSet
val s = SortedSet[Array[Int]]()
接下来,您需要定义隐式排序:
implicit val arrayOrdering = new Ordering[Array[Int]] {
override def compare(x: Array[Int], y: Array[Int]): Int = ???
// Implement whatever you mean by one array is greater than the other array
}
同样要小心Array
- s,因为它是一个Java数组,因此它没有覆盖equals
和hashcode
方法,也没有看到值相等,而是参考平等。