この記事では、Androidで双方向性マップを使う方法について記載しています。(Javaでも使えます)
双方向性マップ
双方向性マップは、「keyを指定してvalueを取得する」だけでなく、「valueを指定してkeyを取得する」ことが出来ます。
使い方
双方向性マップのライブラリはいくつかあるようですが、ここではcom.google.guavaのBiMapを使います。
ライブラリは、MavenまたはGradleで依存関係を指定することで使用できます。
dependencies {
implementation("com.google.guava:guava:30.1.1-android")
// Javaの場合は 30.1.1-jre
}
「valueを指定してkeyを取得する」場合は、inverseメソッドをコールすることで、keyとvalueが反転したMapが取得できます。
val userId: BiMap<Int, String> = HashBiMap.create()
userId.put(1, "Taro")
// keyとvalueが反転したMapを取得
val index = userId.inverse()["Taro"]
参考