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

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

DDD
リリース: 2024-12-21 13:17:09
オリジナル
159 人が閲覧しました

How Can I Efficiently Initialize a HashMap in Java?

HashMap を直接初期化する方法: 総合ガイド

Java HashMap の初期化は面倒な作業になる場合があります。特に静的な値や既知の値を扱う場合はそうです。ただし、これを実現するにはいくつかの方法があり、それぞれに長所と制限があります。

Java バージョン 9 以降


Java 9 HashMap を大幅に簡素化するファクトリー メソッドを導入しました初期化:



  • 最大 10 個の要素の場合:
    Map<string string test1="Map.of(<br">"a", "b",<br>"c", "d"<br>);


  • < li>任意の数の要素の場合:
    Map<string string> test2 = Map.ofEntries(<br>entry("a", "b"),<br>entry("c", "d")<br>);

ログイン後にコピー

Java バージョン 8以下


古いバージョンの場合、いくつかのテクニックがあります:



  1. イニシャライザ付きの匿名サブクラス:
    マップ<文字列, 文字列> myMap = new HashMap<String, String>() {{<br>put("a", "b");<br>put("c", "d");<br>}};</ pre><br></li><br><li>初期化用の別個の関数: <br></p>
    <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">マップ<string string> myMap = createMap();<p>private static Map<string string> createMap() {<br>Map<string> myMap = new HashMap<String,String>();<br>myMap.put("a", "b");<br>myMap.put("c", "d");<br>return myMap;<br>}<br>


  2. シングルトン マップ (単一エントリの場合):
    Map<String,String> test = Collections.singletonMap("test", "test");


一方、匿名サブクラスこの方法は便利ですが、メモリ消費量の増加や望ましくない動作などの潜在的な欠点があります。あるいは、冗長ではありますが、初期化に別の関数を使用すると、より適切なカプセル化が可能になり、潜在的な問題を回避できます。


方法の選択は、利用可能な Java バージョンとその複雑さによって決まることに注意してください。要件。慎重に評価することで、HashMap 初期化の最適なパフォーマンスと保守性が確保されます。

ログイン後にコピー

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

ソース:php.cn
前の記事:Java の HashMap と Hashtable: いつどちらを使用する必要がありますか? 次の記事:Java シフト演算子: `>>` と `>>>>` – 違いは何ですか?
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
関連トピック
詳細>
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート