値が与えられた場合、反復する必要なしに、この値がマップに属するインデックスまたはキーを取得する必要があります。私はJavaを使用しています。
ありがとう
Guava には、双方向マップであるBiMapがあります (各キーと各値は一意です)。
外部ライブラリを使用しない場合は、次の 2 つのオプションしかありません。
HashMap
と、キーを反復処理する必要がありますcommons-collectionsのBidiMapをいつでも使用できます。
http://commons.apache.org/collections/apidocs/org/apache/commons/collections/BidiMap.html
ある種のを使用する必要がありBidirectionalMap
ます。たとえば、これ: http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/BiMap.html
繰り返すことなくしてはいけません。
また、値が複数のキーに属している可能性があるため、質問はやや議論の余地があります。
キー/値の間に1対1の関係がある場合は、関係の各方向に1つずつ、2つのマップを作成し、その値を2番目の(逆)マップのキーとして検索することで実現できます。