Javaのハッシュマップ

王林
王林オリジナル
2024-08-30 15:34:13334ブラウズ

Java では、配列を使用してデータを保存できますが、キーと値の形式でデータを保存または取得する必要がある場合は常に、そのために HashMap を使用する必要があります。ハッシュマップは、Map と呼ばれるインターフェイスの階層の下に属する Java のコレクションです。この記事では、Java プログラミングの観点からハッシュマップについて説明します。

構文:

広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト

コードで HashMap を使用するには、インポート (java.util.HashMap パッケージのインポート) またはその親クラスをインポートする必要があります。

import java.util.HashMap;
import java.util.Map;
HashMap<datatypeOfkey, dataytpeOfValue> <name_of_hashMap> =new HashMap<datatypeOfkey, dataytpeOfValue> ();

datatypeOfkey と dataytpeOfValue は整数または文字列です。

例:

Map<String, String> newHashMap = new HashMap<>();

Java では HashMap はどのように機能しますか?

ハッシュマップはハッシュ技術を使用して要素を保存および取得します。ストレージには、バケットと呼ばれるリンクされたリストが使用されます。キーに対して、挿入および取得操作に、equals() と hashCode() という 2 つのメソッドを使用します。挿入中に、hashCode は保存するバケットを決定します。その後、hashCode は、同じ hashCode を持つキーがすでに存在するかどうかを再度チェックします。 「はい」の場合、値は新しい値に置き換えられます。そうでない場合は、値が格納される新しいマップが作成されます。データの取得中に、hashCode によって検索用のバケットが決定されます。その後、 hashCode() と equals() が値を取得して返します。値が存在しない場合は null を返します。

Java の HashMap コンストラクター

以下で説明するように、4 つのコンストラクターがあります。

  1. HashMap(): これは、負荷係数 0.75、容量 16 のデフォルトのものです。
  2. HashMap(int ): 引数で定義された容量を使用して HashMap を作成します。ここでの負荷率はデフォルトです。
  3. HashMap(int , float ): 引数で定義された容量と負荷係数を使用して HashMap を作成します。
  4. HashMap(Map m): 引数マップで定義されているように HashMap を作成します。

Java の HashMap メソッドのトップ 13

ここで説明する以下のメソッドはすべて、Java のバージョンに関係なく使用できます。

  1. public value get(Object key): 対応するキーの値を取得するために使用されます。
  2. public value put(K key, V value): 対応するキーの引数に指定された値を挿入します。
  3. public boolean containsKey(Object key): キーが存在するかどうかの決定。戻り値の型が Boolean であることに注意してください。
  4. public boolean containsValue(Object value): 値が存在するかどうかの決定。戻り値の型が Boolean であることに注意してください。
  5. public V Remove(Object key): コードで指定されているように、特定のキーとその値形式の HashMap をクリアします。
  6. public void clear(): 前述のように、HashMap からすべてのキーと値をクリアします。
  7. public boolean isEmpty(): HashMap が空かどうかを検証します。
  8. Object clone(): HashMap のマッピングは、別の HashMap へのクローン作成に使用するために、このメソッドによって返されます。
  9. public int size(): HashMap 内に存在するキーと値のペアのサイズ、平均数を返します。
  10. public Set> entrySet(): HashMap 内のマッピングのセットは、このメソッドによって返されます。
  11. パブリック セット keySet(): HashMap に設定されたキーがこのメソッドによって返されます。
  12. public void putAll(Map ): マップのコンテンツ全体を他のマップにコピーします。
  13. Collectionvalues(): HashMap のすべての値のコレクションを取得できます。

Java での HashMap の例

HashMap は、キーと値のペアを格納するために使用されるマップベースのコレクション クラスです。いくつかの例を見てみましょう。

例 #1

ここでは HashMap のコード例をいくつか説明します。自分でコードを書いて練習し、Java コンパイラで実行して出力を確認する必要があります。検証のために出力を指定された出力と照合できます。 HashMap の作成とそこへのデータの挿入。

コード:

import java.util.HashMap;
import java.util.Map;
public class CreateHashMapExample {
public static void main(String[] args) {
// Creating a HashMap
Map<String, String> newHashMap = new HashMap<>();
// Addition of key and value
newHashMap.put("Key1", "Java");
newHashMap.put("Key2", "C++");
newHashMap.put("Key3", "Python");
// Addition of new key and value
newHashMap.putIfAbsent("Key4", "Ruby");
System.out.println(newHashMap);
}
}

出力:

Javaのハッシュマップ

例 #2

文字列をキーとして、整数を値として取る別の例を見てみましょう。ここでは、キーとそれに対応する値を値としてインチ単位で測定します。

コード:

import java.util.HashMap;
public class CreateHashMapExample2 {
public static void main(String[] args) {
// Create a HashMap object called measurement
HashMap<String, Integer> ms = new HashMap<String, Integer>();
// Add keys and values (Name and phone number of the person)
ms.put("S", 35);
ms.put("M", 38);
ms.put("L", 40);
ms.put("XL", 42);
for (String key : ms.keySet()) {
System.out.println("measurement of " + key + " in inch is: " + ms.get(key));
}
}
}

出力:

Javaのハッシュマップ

Example #3

Here we will do multiple things. We will first create a Hashmap; we will then get its values one by one. After that, we will copy all data of the HashMap to a brand new HashMap. After that, we will remove one item and gets their sizes. If the size is lower by one, the decrease of size by removal is confirmed.

Code:

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class HashMapInJava {
public static void main(String[] args) {
Map<String, String> newHashMap = new HashMap<>();
// Addition of key and value
newHashMap.put("Key1", "Lenovo");
newHashMap.put("Key2", "Motorola");
newHashMap.put("Key3", "Nokia");
newHashMap.put("Key4", null);
newHashMap.put(null, "Sony");
System.out.println("Original map contains:" + newHashMap);
//getting size of Hashmap
System.out.println("Size of original Map is:" + newHashMap.size());
//copy contains of one Hashmap to another
Map copyHashMap = new HashMap<>();
copyHashMap.putAll(newHashMap);
System.out.println("copyHashMap mappings= " + copyHashMap);
//Removal of null key
String nullKeyValue = copyHashMap.remove(null);
System.out.println("copyHashMap null key value = " + nullKeyValue);
System.out.println("copyHashMap after removing null key = " + copyHashMap);
System.out.println("Size of copyHashMap is:" + copyHashMap.size());
}
}

Output:

Javaのハッシュマップ

Did you notice one thing in the output of HashMap in all of our examples while we print the key and values? The print is not in sorted order. Hashmap is not like an array, so scan and print need to be sorted; it can pick random based on its hash value.

Conclusion

You should use HashMap when your code or use case requires the handling of data in key-value pairs. In this article, we have learned about hashmaps in Java with code examples. First, however, you should practice writing codes on your own to master this topic.

Recommended Article

This is a guide to the HashMap in Java. Here we discuss Introduction to HashMap in Java and its Methods along with Code implementation and Output. You can also go through our suggested articles to learn more –

  1. HTML Frames
  2. HTML Attributes
  3. What is JVM?
  4. Java ClassNotFoundException

以上がJavaのハッシュマップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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