1. ホーム
  2. scala

[解決済み] Scalaでマップを反転させるエレガントな方法

2022-11-28 06:34:54

質問

現在Scalaを学習中で、Mapを反転してvalue->keyの反転を行う必要があります。 これを行うための簡単な方法を探していたのですが、これしか思いつきませんでした。

(Map() ++ origMap.map(kvp=>(kvp._2->kvp._1)))

どなたかもっとエレガントな方法をご存じですか?

どのように解決するのですか?

値が一意であると仮定して、これは動作します。

(Map() ++ origMap.map(_.swap))

しかし、Scala 2.8では、より簡単です。

origMap.map(_.swap)

これができるようになったことが、Scala 2.8に新しいコレクションライブラリが追加された理由の一つです。