复制番号代番号次のように:
public static void main(String args[]) {
Map<String, Object> マップ = new HashMap<String, Object>();
map.put("a", "A");
map.put("b", "B");
map.put("c", "C");
// keySet遍历
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
文字列キー = iterator.next();
文字列値 = (文字列) map.get(key);
System.out.println(値);
}
for (文字列キー:map.keySet()) {
文字列値 = (文字列) map.get(key);
System.out.println(値);
}
// エントリーセット遍历
Iterator<Entry<String, Object>> iterator1 = map.entrySet().iterator();
while (iterator1.hasNext()) {
文字列値 = (文字列) iterator1.next().getValue();
System.out.println(値);
}
for (Entry<String, Object> エントリ :map.entrySet()) {
文字列値 = (文字列)entry.getValue();
System.out.println(値);
}
//
for (オブジェクト str : map.values()) {
System.out.println(str);
}
}
効率に関する問題:
場合によってはHashMapを使用する
キーと値を同時に渡す場合、keySet と entrySet メソッドのパフォーマンスの違いは、キーの特定の状況、たとえば、深度 (オブジェクト)、分散度、強度などに依存します。エントリセットのすべてのキーと値を一時的に取得する操作は、この値が HashMap の検出値よりも小さい場合、エントリセットのパフォーマンスがオフになります。たとえば、前述の比較テストでは、key が最も単一の数値文字列である場合、keySet の方が効果が高くなる可能性があり、entrySet よりも 10% の時間がかかります。キーが単一になると、そのパフォーマンスまたは権限は keySet よりも低くなる可能性がありますが、制御可能であり、キーの変更に応じて、entrySet の優先順位が明らかになります。选择
上記の実験結果では、keySet メソッドは、entrySet が無駄な値も取得するため、性能と空間を浪費するため、entrySet メソッドよりも 23% 少なくなります。
value を渡すだけの場合は、vlaues メソッドを使用するのが最適であり、keySet メソッドよりもentrySet の方が適しています。
場合によってはTreeMapを使用する
key と value を同時に渡す場合、HashMap とは異なり、entrySet の性能は keySet よりも優れています。これは TreeMap の認証効率によって決まります、つまり、TreeM ap の値のオープン ボタンは大きいため、すべてのキーと値を一度に取得するためのentrySet メソッドよりも明らかに優れています。