我有一个类型为A的对象的列表。在第一次迭代中,我为每个对象分配一个双精度值0
当前,我使用包装器类来存储对象及其x值,以形成可比较的列表。

Scala提供的数据类型是否允许我执行以下操作:

 var result = new SortedList[Double, A]
 result.insert(x,a)
 result.insert(x1,a1)
 result.insert(x2,a2)


然后

  println(result.mkString)

最佳答案

实际上,您可以使用普通的Scala列表及其sortBy方法轻松地做到这一点。这是一个简短的REPL会议,展示了如何:

scala> class A(val value: Double) { override def toString = "A:" + value }
defined class A

scala> List(new A(6), new A(1), new A(3)) sortBy (_.value)
res0: List[A] = List(A:1.0, A:3.0, A:6.0)

关于scala - 对对象列表进行排序的最简单方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9751434/

10-16 17:30