0

複数の hashMaps 内のアイテムを互いに比較できるかどうか疑問に思っていました:

HashMap<String,String> valueMap = new HashMap<String, String>();
HashMap<String,Integer> formulaMap = new HashMap<String, Integer>();

私が基本的にやりたいことは次のようなものです:

if(the second string in valueMap is the same as the first string in formulaMap){
}

これを達成する簡単な方法はありますか、それともハッシュマップに含まれる前に文字列を比較する必要がありますか? プログラムのこの段階での整数は、 null値を取る必要があります。多次元配列を使用して目標を達成できますが、このようなソリューションはよりエレガントで時間のかからないものになります。

4

1 に答える 1

2

を使用するLinkedHashMapことで、異なる値の挿入順序を尊重するマップを作成できます。あなたがしなければならないことはentrySet、探している位置に到達するまでマップを反復することだけです。

プラス: 順序付けも必要な場合は、TreeMap定義した基準に基づいて要素を順番に挿入する を確認できます (Comparatorマップのパラメーターとして を渡すことができます)。

この順序はマップ タフのキーに適用されるため、値の順序付けが必要な場合は、もう少し複雑な解決策を考え出す必要があります (エントリ セットを直接ソートし、値を別のマップに追加するなど)。例)。

于 2013-01-16T18:03:57.233 に答える