我有一系列列表,例如,
val arr= Array( List(1, "120", "a"), List(3, "97", "v"), List(7, "110", "d") )
我想找到第二个元素最高的数组元素。 我的意思是,像
arr.maxBy(_(1).toInt),
返回列表(1," 120"," a")作为输出。
我google了很多;但无法找到解决方案。
任何帮助将不胜感激。 感谢。
答案 0 :(得分:0)
val array = Array( List(1, "120", "a"), List(3, "97", "v"), List(7, "110", "d") )
> array: Array[List[Any]] = Array(List(1, 120, a), List(3, 97, v), List(7, 110, d))
array.maxBy{ case head :: (second: String) :: _ => second.toInt }
> List[Any] = List(1, 120, a)
数组的每个元素都可以与至少包含2个元素(头部和第二个)的列表匹配。您指定第二个是字符串,因为数组中的列表是List [Any]类型。这样,您可以将第二个元素的最大值作为int。