この包括的なガイドでは、効率的なキーと値のペアの保存と管理のための堅牢なデータ構造である Java の HashMap
について説明します。 基本的な方法について説明し、理解を確実にするために実践的な例を示します。
HashMap
はデータをキーと値のペアとして保存し、put
、get
、remove
などのコア操作に (平均して) 一定時間の複雑さを提供します。 主な利点は次のとおりです:
java.util
パッケージ内にあります。null
をキーと値の両方として受け入れます。例:
<code class="language-java">import java.util.HashMap; public class HashMapDemo { public static void main(String[] args) { HashMap<Integer, String> myMap = new HashMap<>(); // Adding entries myMap.put(1, "Apple"); myMap.put(2, "Banana"); myMap.put(3, "Cherry"); // Retrieving a value System.out.println(myMap.get(1)); // Output: Apple } }</code>
HashMap
コンストラクターは簡単です:
<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
例:
<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
ここで、String
はキーのタイプを表し、Integer
は値のタイプを表します。
頻繁に使用される HashMap
メソッドを詳しく見てみましょう:
put(K key, V value)
<code class="language-java">import java.util.HashMap; public class HashMapDemo { public static void main(String[] args) { HashMap<Integer, String> myMap = new HashMap<>(); // Adding entries myMap.put(1, "Apple"); myMap.put(2, "Banana"); myMap.put(3, "Cherry"); // Retrieving a value System.out.println(myMap.get(1)); // Output: Apple } }</code>
get(Object key)
null
を返します。<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
getOrDefault(Object key, V defaultValue)
defaultValue
.<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
containsKey(Object key)
<code class="language-java">HashMap<Integer, String> myMap = new HashMap<>(); myMap.put(1, "Apple"); myMap.put(2, "Banana"); myMap.put(1, "Orange"); // Updates value for key 1 System.out.println(myMap); // Output: {1=Orange, 2=Banana}</code>
containsValue(Object value)
<code class="language-java">System.out.println(myMap.get(1)); // Output: Orange System.out.println(myMap.get(4)); // Output: null</code>
remove(Object key)
null
) を返します。<code class="language-java">System.out.println(myMap.getOrDefault(4, "Default")); // Output: Default</code>
putIfAbsent(K key, V value)
<code class="language-java">System.out.println(myMap.containsKey(1)); // Output: true System.out.println(myMap.containsKey(4)); // Output: false</code>
replace(K key, V value)
<code class="language-java">System.out.println(myMap.containsValue("Orange")); // Output: true System.out.println(myMap.containsValue("Grape")); // Output: false</code>
keySet()
Set
を返します。<code class="language-java">System.out.println(myMap.remove(1)); // Output: Orange System.out.println(myMap); // Output: {2=Banana}</code>
values()
Collection
を返します。<code class="language-java">myMap.putIfAbsent(3, "Cherry"); // No change if key 3 exists System.out.println(myMap);</code>
entrySet()
Set
) の Map.Entry
を返します。<code class="language-java">myMap.replace(2, "Mango"); System.out.println(myMap);</code>
compute(K key, BiFunction remappingFunction)
BiFunction
実装が必要)<code class="language-java">import java.util.HashMap; public class HashMapDemo { public static void main(String[] args) { HashMap<Integer, String> myMap = new HashMap<>(); // Adding entries myMap.put(1, "Apple"); myMap.put(2, "Banana"); myMap.put(3, "Cherry"); // Retrieving a value System.out.println(myMap.get(1)); // Output: Apple } }</code>
merge(K key, V value, BiFunction remappingFunction)
BiFunction
実装が必要)<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
この例では、単語の頻度をカウントするための HashMap
を紹介します。
<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
HashMap
は基本的な Java データ構造であり、効率的なキーと値のペアの管理を提供します。そのメソッドをマスターすると、単純なデータ検索から高度なデータ操作タスクまで、さまざまなプログラミングの課題に取り組むことができるようになります。 HashMap
をプロジェクトに組み込んで、そのパワーと効率を活用してください。
以上がJavaでHashmapを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。