2017-08-09 19 views
0

ScalaでLinkedHashMapの要素の順序を逆にするエレガントな方法はありますか?ScalaでLinkedHashMap要素の順序を逆にする方法

は例えば、私が持っているようなのLinkedHashMap [整数、文字列]:

[1, "one"] 
[2, "two"] 
[3, "three"] 

何のようなのLinkedHashMap [整数、文字列]を取得するための最良の方法である:

[3, "three"] 
[2, "two"] 
[1, "one"] 

答えて

1
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) 
+0

ありがとうございます。自分のために '_ *'を発見しました:) – Strig

1

することができますが、これは古いLinkedHashMap更新されませんが、新しいOを返すこと

val reverse = for ((key, value) <- map) yield (value, key) 

注を行いますne。

+0

これは、キーと値を元に戻します。それは、OPが望んでいる要素の順序を逆にしません。 – chunjef

+0

確かに、私はマップのエントリの順序を逆にする方法を探しています – Strig

+0

申し訳ありませんが、あなたは正しいです、私は混乱してしまった。 – Bruno

関連する問題