scala排序列表并获取第n个元素

时间:2014-04-27 22:29:50

标签: scala

val Y = List (1,4,3,5,9,7) //> Y : List[Int] = List(1, 4, 3, 5, 9, 7) Y(2) //> res1: Int = 3 Y.sorted //> res2: List[Int] = List(1, 3, 4, 5, 7, 9) Y.sorted(2) //> ERROR // But the following works val z = Y.sorted //> z : List[Int] = List(1, 3, 4, 5, 7, 9) z(2) //> res2: Int = 4

如何在排序列表的索引2处获取元素而不将其分配给新变量?

1 个答案:

答案 0 :(得分:3)

这将有效:

Y.sorted.apply(2)

您收到错误的原因是因为sorted采用类型为Ordering的隐式参数,并且Scala编译器尝试将2解释为隐式参数的值(已通过)显式),由于类型不匹配而最终出现错误。