ホームページ >Java >&#&チュートリアル >Java HashMap を直接初期化するには?

Java HashMap を直接初期化するには?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-13 05:27:16961ブラウズ

How to Initialize a Java HashMap Directly?

HashMap を直接 (文字通りの方法で) 初期化する方法?

質問:
Java HashMap を初期化することは可能ですか?このような簡潔な方法で?

Map<String,String> test = 
    new HashMap<String, String>{"test":"test","test":"test"};

そうであれば、正しい構文は何ですか?

Java バージョン 9 以降の答え:

はい、これは Java 9 で追加されたファクトリ メソッドを使用して可能になりました:

// For up to 10 elements
Map<String, String> test1 = Map.of("a", "b", "c", "d");

// For any number of elements
import static java.util.Map.entry;
Map<String, String> test2 = Map.ofEntries(entry("a", "b"), entry("c", "d"));

Java バージョンまでの答え8:

残念ながら、提供された構文で直接初期化することはできません。ただし、匿名サブクラスを使用してコードを短縮できます:

Map<String, String> myMap = new HashMap<String, String>() {{
    put("a", "b");
    put("c", "d");
}};

または、初期化用の関数を作成できます:

Map<String, String> myMap = createMap();

private static Map<String, String> createMap() {
    Map<String,String> myMap = new HashMap<String,String>();
    myMap.put("a", "b");
    myMap.put("c", "d");
    return myMap;
}

以上がJava HashMap を直接初期化するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。