私は2種類のオブジェクト間のマップを持っている必要があります、実証目的のために、StringとLong。Java HashMapの逆の方法
私はHashMapがO(1)検索パフォーマンスを持っていることを知っています。これは素晴らしいことです。私はこのようなものを使用しています:
HashMap<String, Long> a = new HashMap<String, Long>();
これは、キーで検索したいときに効果的です。しかし、今では価値のあるキーを見つける必要があります。
キーの反復処理を開始すると、パフォーマンスが低下します。
私が考えている最初のオプションは、別の方法で別のHashMapを作成することです。
私が1つ書くときはいつも、もう一方に書きます。
キーや値で検索するための特別なクラスはありませんか?
両方のHashMapsで自分のクラスを作成する必要がありますか?
他のソリューション?
おそらく、グァバの[2領域マップ](https://github.com/google/guava/wiki/NewCollectionTypesExplained#bimap)には、探しているものが含まれています。 – Henrik
もちろんキーはユニークで値はそうではないかもしれません –
@ScaryWombat:「reverseA」マップがオプションの場合、値がより一意になるか、矛盾が生じます。 – Henrik