1. ホーム
  2. java

[解決済み] 1つのステートメントでHashMapに複数のエントリを一度に追加する

2022-04-25 03:55:58

質問

定数HashMapを初期化する必要があり、1行のステートメントで行いたい。このようなことは避けてください。

  hashMap.put("One", new Integer(1)); // adding value into HashMap
  hashMap.put("Two", new Integer(2));      
  hashMap.put("Three", new Integer(3));

客観的なCでこれに類似している。

[NSDictionary dictionaryWithObjectsAndKeys:
@"w",[NSNumber numberWithInt:1],
@"K",[NSNumber numberWithInt:2],
@"e",[NSNumber numberWithInt:4],
@"z",[NSNumber numberWithInt:5],
@"l",[NSNumber numberWithInt:6],
nil] 

この方法を示している例は、これまでたくさん見てきましたが、見つかりませんでした。

どのように解決するのですか?

を使用することができます。 ダブルブレース初期化 は、以下のようになります。

Map<String, Integer> hashMap = new HashMap<String, Integer>()
{{
     put("One", 1);
     put("Two", 2);
     put("Three", 3);
}};

注意事項として、このスレッドを参照してください。 Java "Double Brace Initialization" "の効率化。 を使用することで、パフォーマンスに影響を与える可能性があります。