Java HashMap
Java HashMap
このArrayList
章では、配列がアイテムを順序付けられたコレクションとして格納し、インデックス番号(int
タイプ)を使用してそれらにアクセスする必要があることを学びました。HashMap
ただし、アイテムは「キー/値」のペアで保存し、別のタイプのインデックス(例:)でアクセスできますString
。
あるオブジェクトは、別のオブジェクト(値)へのキー(インデックス)として使用されます。String
キーと値の異なるタイプ、またはキーと値Integer
のような同じタイプを格納できます。String
String
例
キーと値を格納するcapitalCitiesHashMap
というオブジェクトを作成します。String
String
import java.util.HashMap; // import the HashMap class
HashMap<String, String> capitalCities = new HashMap<String, String>();
アイテムを追加
このHashMap
クラスには多くの便利なメソッドがあります。たとえば、アイテムを追加するには、次のput()
方法を使用します。
例
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called capitalCities
HashMap<String, String> capitalCities = new HashMap<String, String>();
// Add keys and values (Country, City)
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("Norway", "Oslo");
capitalCities.put("USA", "Washington DC");
System.out.println(capitalCities);
}
}
アイテムにアクセスする
の値にアクセスするにはHashMap
、get()
メソッドを使用してそのキーを参照します。
例
capitalCities.get("England");
アイテムを削除する
アイテムを削除するには、remove()
メソッドを使用してキーを参照します。
例
capitalCities.remove("England");
すべてのアイテムを削除するには、次のclear()
方法を使用します。
例
capitalCities.clear();
HashMapサイズ
アイテムの数を確認するには、次のsize()
方法を使用します。
例
capitalCities.size();
HashMapをループする
for-eachHashMap
ループを使用してaの項目をループします。
注:keySet()
キーのみが必要な場合はこのメソッドを使用し、values()
値のみが必要な場合はこのメソッドを使用します。
例
// Print keys
for (String i : capitalCities.keySet()) {
System.out.println(i);
}
例
// Print values
for (String i : capitalCities.values()) {
System.out.println(i);
}
例
// Print keys and values
for (String i : capitalCities.keySet()) {
System.out.println("key: " + i + " value: " + capitalCities.get(i));
}
その他のタイプ
HashMapのキーと値は、実際にはオブジェクトです。上記の例では、「String」タイプのオブジェクトを使用しました。Javaの文字列はオブジェクト(プリミティブ型ではない)であることを忘れないでください。intなどの他の型を使用するには、同等のラッパークラスを指定する必要がありますInteger
。他のプリミティブ型の場合はBoolean
、boolean、Character
char、Double
doubleなどを使用します。
例
キーと値を格納する
peopleHashMap
というオブジェクトを作成します。String
Integer
// Import the HashMap class
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
// Create a HashMap object called people
HashMap<String, Integer> people = new HashMap<String, Integer>();
// Add keys and values (Name, Age)
people.put("John", 32);
people.put("Steve", 30);
people.put("Angie", 33);
for (String i : people.keySet()) {
System.out.println("key: " + i + " value: " + people.get(i));
}
}
}