有什么优雅的方法可以反转Scala中LinkedHashMap的元素顺序吗?
例如,我有一个LinkedHashMap[Integer,String],如下所示:
[1, "one"]
[2, "two"]
[3, "three"]
获取 LinkedHashMap[整数,字符串] 的最佳方法是什么:
[3, "three"]
[2, "two"]
[1, "one"]
import scala.collection.mutable.LinkedHashMap
val linked = LinkedHashMap(1 -> "one", 2 -> "two", 3 -> "three")
val reversed = LinkedHashMap(linked.toSeq.reverse: _*)
// reversed: scala.collection.mutable.LinkedHashMap[Int, String] = Map(3 -> three, 2 -> two, 1 -> one)
你可以做
val reverse = for ((key, value) <- map) yield (value, key)
请注意,这不会更新旧LinkedHashMap
,但会返回一个新。