je Array[scala.collection.immutable.Map[String,Any]]
et je dois les trier par la 2ème valeur "v2"
et retourner un même tableau de carteTrier Tableau de carte par l'une des valeurs dans Scala
val col = Array(Map("key" -> Array("aa","bb"), "v1" -> 1 , "v2" -> 3),Map("key" -> Array("cc","bb"), "v1" -> 2 , "v2" -> 4))
Je l'ai fait ce qui suit:
scala> col sortBy {col("v2")}
<console>:28: error: type mismatch;
found : String("v2")
required: Int
col sortBy {col("v2")}
ou cette
scala> col sortWith {col("v2") > col("v2")}
<console>:28: error: type mismatch;
found : String("v2")
required: Int
col sortWith {col("v2") < col("v2")}
et je ne comprends pas ce que cela signifie required: Int
et comment trier ce Array[Map[String,Any]
!!
Edit:
J'ai essayé aussi bien
scala> col.toSeq.sortWith(col("v2").trim().toDouble > col("v2").trim().toDouble)
<console>:32: error: type mismatch;
found : String("v2")
required: Int
Vos valeurs 'Map' sont de type' Any'. Comment avez-vous les valeurs de tri du compilateur de ce type? –
vérifier la partie éditée @Yuval – Toren