Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaHashMapクラスの使用方法

プログラミングでは、データ型は特定の種類のデータを分類するために使用されます。各データ型は異なる方法で格納され、値が格納されるデータ型によって、値に対して実行できる操作が決まります。

Javaで作業しているときに遭遇する可能性のあるクラスの1つは、JavaHashMapクラスです。このクラスはコレクションフレームワークの一部であり、開発者はMapデータ型を使用してデータを格納できます。

このチュートリアルでは、Java HashMapの基本、HashMapの作成方法、およびHashMapクラスを操作するときに使用できる主なメソッドについて説明します。この記事では、HashMapクラスをより詳細に説明できるように、全体を通して例を参照します。

JavaマップとHashMap

Java Mapインターフェースは、マップ値をキーと値のペアで保管するために使用されます。キーは、特定の値に関連付けられている一意の値です。 Javaでは、マップに重複するキーを含めることはできず、各キーは特定の値に関連付ける必要があります。

Mapが提供するキー/値の構造により、キーに基づいて値にアクセスできます。したがって、キーがgbpのマップがある場合 値United Kingdom 、キーgbpを参照する場合 値「UnitedKingdom」が返されます。

HashMapクラスはコレクションフレームワークの一部であり、Mapインターフェイスとハッシュテーブルを使用してデータを保存できます。ハッシュテーブルは、キー/値アイテムを格納するために使用される特別なコレクションです。

HashMapを作成する前に、まずHashMapパッケージをインポートする必要があります。 Javaプログラムでこれを行う方法は次のとおりです。

import java.util.hashmap;

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

HashMapパッケージをインポートしたので、JavaでHashMapの作成を開始できます。

ハッシュマップを作成する

JavaでHashMapを作成するには、次の構文を使用できます。

HashMap<KeyType, ValueType> map_name = new HashMap<KeyType, ValueType>(capacity, loadFactor);

これを基本的なコンポーネントに分解してみましょう。

  • ハッシュマップ ハッシュマップを宣言していることをコードに伝えるために使用されます。
  • キーと値のデータ型をそれぞれ格納します。
  • map_name 宣言したハッシュマップの名前です。
  • 新しいHashMap 指定したデータ型でHashMapを初期化するようにコードに指示します。
  • 容量 格納できるエントリの数をコードに通知します。デフォルトでは、これは16に設定されています。(オプション)
  • loadFactor ハッシュテーブルが特定の容量に達したときに、元のハッシュテーブルの2倍のサイズの新しいハッシュテーブルを作成する必要があることをコードに通知します。デフォルトでは、これは0.75(または75%の容量)に設定されています。 (オプション)

現地通貨交換ビジネスのプログラムを作成しているとします。彼らは、交換サービスを提供する国の名前と通貨コードを保存するプログラムを作成したいと考えています。国名と通貨コードの2つのアイテムを一緒に保存するため、HashMapを使用してこのデータを保存することをお勧めします。

この目的でHashMapを作成するために使用するコードは次のとおりです。

import java.util.HashMap;
HashMap<String, String> currencyCodes = new HashMap<String, String>();

この例では、currencyCodesというHashMapを宣言しています。 2つの文字列値を格納します。 HashMapができたので、アイテムの追加とその内容の操作を開始できます。

アイテムの追加

HashMapクラスは、データの保存と操作に使用できるさまざまなメソッドを提供します。 put()メソッドは、キー/値構造を使用してHashMapに値を追加するために使用されます。

外貨両替に戻りましょう。エントリGBPを追加するとします。 /United Kingdom 英国の通貨価値を保存するプログラムに追加します。 GBP キーはUnited Kingdomにマッピングされています この例の値。このコードを使用してこれを行うことができます。

import java.util.HashMap;

class CurrencyExchange {
	public static void main(String[] args) {
		HashMap<String, String> currencyCodes = new HashMap<String, String>();

		currencyCodes.put("GBP", "United Kingdom");
currencyCodes.put("USD", "United States");
		System.out.println(currencyCodes);
	}
}

このコードでは、currencyCodesというハッシュマップを初期化します。 次に、put()メソッドを使用して、ハッシュマップにエントリを追加します。このエントリには、キーGBPがあります 値United Kingdom 。次に、HashMapの値を出力します。これにより、次の値が返されます。

{GBP=United Kingdom,USD=United States}

ご覧のとおり、HashMapにはGBP=英国とUSD=米国の2つの値が含まれています。

アイテムにアクセスする

HashMapのアイテムにアクセスするには、get()メソッドを使用できます。 get メソッドは、取得する値のキー名という1つのパラメーターを受け入れます。

GBPに関連付けられている国名を取得するとします。このコードを使用してこれを行うことができます。

…
		String gbp = currencyCodes.get("GBP");
		System.out.println(currencyCodes);
… 

コードは次のようになります:英国。

Remove an Item

remove()メソッドは、HashMapからアイテムを削除するために使用されます。 remove()は、エントリを削除するキーの名前という1つのパラメーターを受け入れます。

GBPを削除するとします。 HashMapから。このコードを使用してこれを行うことができます。

…
currencyCodes.remove("GBP");
System.out.println(currencyCodes);
…

コードを実行すると、GBP はHashMapから削除され、次の応答が返されます:{USD =United States}

さらに、clear()メソッドを使用して、HashMapからすべてのアイテムを削除します。 clear()はパラメーターを受け入れません。動作中のclear()メソッドの例を次に示します。

…
currencyCodes.clear();
System.out.println(currencyCodes);
…

コードは空のHashMapを返します: {}

HashMap要素を置き換える

replace()メソッドは、特定のキーに関連付けられた値を新しい値に置き換えるために使用されます。 replace()は、置換する値のキーと、古い値を置換する新しい値の2つのパラメーターを受け入れます。

たとえば、値United Kingdomを置き換えたいとします。 United Kingdom HashMapで。このコードを使用してこれを行うことができます。

…
		currencyCodes.replace("GBP", "Great Britain")
		System.out.print(currencyCodes);
…

コードを実行すると、キーの値GBP (これはUnited Kingdom この場合)はGreat Britainに置き換えられます そして私たちのプログラムは以下を返します:

{GBP =イギリス、USD=アメリカ合衆国}

HashMapを反復処理する

さらに、JavaのHashMapを反復処理できます。 HashMapは、HashMapを反復処理するために使用できる3つのメソッドを提供します。

  • keySet()は、HashMapのキーを反復処理するために使用されます。
  • values()は、HashMapの値を反復処理するために使用されます。
  • entrySet()は、HashMapのキーと値を反復処理するために使用されます。

HashMapを反復処理する最も簡単な方法は、for-eachを使用することです。 ループ。 Java for-eachループについて詳しく知りたい場合は、こちらのトピックに関するチュートリアルを読むことができます。

currencyCodesのすべての値を出力するとします。 」HashMapをコンソールに表示して、HashMapに保存されている通貨変換ビジネスに提供する通貨のリストを表示できるようにします。これを行うには、次のコードを使用できます。

import java.util.HashMap;

class CurrencyExchange {
	public static void main(String[] args) {
		HashMap<String, String> currencyCodes = new HashMap<String, String>();

		currencyCodes.put("GBP", "Great Britain");
		currencyCodes.put("USD", "United States");

		for(String value : currencyCodes.values()) {
			System.out.println(value);
		}
	}
}

コードを実行すると、次の応答が返されます。

United Kingdom

United States

このコードでは、for-eachを使用しています currencyCodes.values()のリスト内のすべてのアイテムを反復処理するためのループ 。次に、各アイテムを新しい行に印刷します。

すべてのキーを繰り返し処理し、HashMapの各キーの名前を出力したい場合は、values()を置き換えることができます。 keySet()を使用 上記のコードで。プログラムが返すものは次のとおりです。

GBP

USD

結論

Java HashMapクラスは、キー/値コレクション構造を使用してデータを格納するために使用されます。この構造は、相互に関連付ける必要がある2つの値を格納する場合に役立ちます。

このチュートリアルでは、HashMapsの基本について説明しました。 HashMapを作成する方法を示し、実際の一般的なHashMapメソッドの例をいくつか調べました。これで、エキスパートのようにJavaHashMapsを操作するために必要な情報を入手できました。


  1. Javaでサブパッケージを使用する方法は?

    サブパッケージはサブディレクトリに似ています。例を考えてみましょう。同社には、Dell.javaソースファイルを含むcom.apple.computersパッケージがあり、このような一連のサブディレクトリに含まれていました- ....\com\apple\computers\Dell.java コンパイル時に、コンパイラーは、クラス、インターフェース、および列挙型で定義されているものごとに異なる出力ファイルを作成します。出力ファイルのベース名はタイプの名前であり、その拡張子は.classです。 例- // File Name:Dell.java package com.apple.compu

  2. Javaで他のパッケージのクラスを使用する方法

    ボスクラスが給与パッケージで定義されている例を使用して理解できます。 package payroll; public class Boss {    public void payEmployee(Employee e) {       e.mailCheck();    } } Employeeクラスが給与パッケージに含まれていない場合はどうなりますか?次に、Bossクラスは、別のパッケージのクラスを参照するために、次のいずれかの手法を使用する必要があります。 クラスの完全修飾名を使用できます。例- payroll.