Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对类型化Scala HashMap进行排序_Scala - Fatal编程技术网

对类型化Scala HashMap进行排序

对类型化Scala HashMap进行排序,scala,Scala,我搜索了scala HashMap排序的答案。 那是 opthash.toSeq.sortBy(_._1) 我只想按键排序,因此上面的解决方案应该适用 但是,我的情况是,上述解决方案导致了一个错误: def foo (opthash : HashMap[Int,String]) = { val int_strin_list = opthash.toSeq.sortBy(_._1); "return something" } 我收到以下错误消息: value sortBy i

我搜索了scala HashMap排序的答案。 那是

opthash.toSeq.sortBy(_._1) 
我只想按键排序,因此上面的解决方案应该适用

但是,我的情况是,上述解决方案导致了一个错误:

def foo (opthash : HashMap[Int,String]) = {
    val int_strin_list = opthash.toSeq.sortBy(_._1);
    "return something"
}
我收到以下错误消息:

value sortBy is not a member of Seq[(Int, String)]
我错过什么了吗?我很确定sortBy是Seq类型的成员


如有任何建议,将不胜感激

确保使用Scala HashMap而不是java HashMap。您确定没有误读错误消息吗

scala> import java.util.HashMap
import java.util.HashMap

scala> def foo (opthash : HashMap[Int,String]) = {
     |     val int_strin_list = opthash.toSeq.sortBy(_._1);
     |     "return something"
     | }
<console>:13: error: value toSeq is not a member of java.util.HashMap[Int,String]
           val int_strin_list = opthash.toSeq.sortBy(_._1);
                                        ^

如果是这样的话,也可以使用可变HashMap。

我可以在2.10版scala上完美地编译您的方法,您使用的是什么版本的scala?看起来2.8版(即2003版)的Seq.And(单击绿色按钮运行)编译器对象都使用了分号和下划线作为变量名…谢谢。我更新到2.10并解决了这个问题!谢谢我使用的是scala 2.7。在确保使用scala的HashMap并使用最新的scala之后,问题就解决了!!我很高兴能帮上忙。
scala> import scala.collection.immutable.HashMap
import scala.collection.immutable.HashMap

scala> def foo (opthash : HashMap[Int,String]) = {
     |     val int_strin_list = opthash.toSeq.sortBy(_._1);
     |     "return something"
     | }
foo: (opthash: scala.collection.immutable.HashMap[Int,String])String