ホームページ >Java >&#&チュートリアル >Java で HashMap を効率的に初期化するにはどうすればよいですか?

Java で HashMap を効率的に初期化するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-17 20:18:11945ブラウズ

How to Efficiently Initialize a HashMap in Java?

HashMap を直接かつ簡潔に初期化する方法

多くの Java 開発者は、キーと値のペアを使用して HashMap を初期化する簡単な方法を望んでいます。残念ながら、Java の標準ライブラリにはこれに直接対応する構文がありません。

Java バージョン 9 以降

ただし、Java 9 以降には朗報があります。マップの作成を簡素化するために、新しいファクトリー メソッドが導入されました。

  • Map.of: Map.of("key1", の形式で最大 10 個のキーと値のペアを受け入れます) "値1"、"キー2"、"値2"、 ...)
  • Map.ofEntries: Map.ofEntries(entry("key1", "value1"),entry("key2", "value2") を使用して任意の数のエントリを処理します)、 ...)

例:

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

// Using Map.ofEntries for any number of elements
Map<String, String> test2 = Map.ofEntries(entry("a", "b"), entry("c", "d"));

Java バージョン 8 以下

以前の Java バージョンの場合は、各要素を手動で追加します。以下は、匿名サブクラス初期化子を使用したもう少し簡潔なオプションです:

例:

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

注:

  • このアプローチでは追加のクラスが作成され、メモリやメモリに影響を与える可能性があります。パフォーマンス。
  • 作成オブジェクトへの参照を保持する可能性があり、ガベージ コレクションを防止します。

関数を含む代替案:

例:

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

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

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

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