Sort List within Map in scala
scala
Solution
This seems to work:
v.mapValues(_.sorted)
// Map(01 -> List(12, 14, 23, 34), 11 -> List(11, 22, 34))
If your values are tuples, try this:
v.mapValues(_.sortBy(_._1))
This approach will also work for classes, just say e.g. `_.sortBy(_.age)`.
Or if you want one, merged list:
v.values.flatten.toSeq.sorted
// List(11, 12, 14, 22, 23, 34, 34)
(for list of tuples):
v.values.flatten.toSeq.sortBy(_._1)
Problem
I have a map like: ``` val v = Map("01" -> List(34,12,14,23), "11" -> List(22,11,34)) ``` I simply can't find a way to sort the list items within map. I tried like: ``` v.flatMap(v => v._2.sortBy(list => list._)) ``` but seems that it does not sort list items. Does anybody know where I am wrong? UPDATE: Actually my List are List of tuples like `List[(Object1, Object2, Object3, Object4)]`, I put `int` for simplicity. (but I think `_.sorted` will not work for my objects case). So I basically want to sort by one of this objects column. (for instance `Object1.int`)