English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、Java Mapインターフェースおよびそのメソッドを学びます。
JavaコレクションフレームワークのMapインターフェースはMapデータ構造の機能を提供します。
コレクションインターフェースを実現しています。
Javaでは、Map要素はキー/値ペアの中で。キーは各値に関連するユニークな値です。
Map集合は重複のキーを含むことはできません。かつ、それぞれのキーは値に関連しています。
関連するキーを使って値にアクセスし、修正することができます。
上の図では、値が:United States、Brazil、およびSpainがあります。それぞれのキーが:us、br、およびesです。
今や、対応するキーを使ってこれらの値にアクセスできます。
注意:Mapインターフェースがメンテナンスしています。3個の異なるセット:
キーセット
値セット
キー/値関連(マップ集合)の集合。
したがって、キー、値、および関連をそれぞれアクセスできます。
Mapはインターフェースであるため、オブジェクトを作成することができません。
Mapインターフェースの機能を使用するために、以下のクラスを使用できます:
これらのクラスは集合フレームワークで定義され、Mapインターフェースを実現しています。
Mapインターフェースは以下のこれらのサブインターフェースから継承されています:
Javaでは、Mapを使用するためにjava.util.Mapパッケージをインポートする必要があります。パッケージをインポートした後、以下のようにmapを作成します。
//HashMapクラスを使用してMapを作成します Map<Key, Value> numbers = new HashMap<>();
上記のコードでは、numbersという名前のMapを作成しました。Mapインターフェースを実現するためにHashMapクラスを使用しました。
ここでは、
Key - mapの各要素(値)に関連付けられるユニークな識別子
Value - mapにキーで関連付けられた要素
MapインターフェースはCollectionインターフェースのすべてのメソッドを含んでいます。これはCollectionがMapのスーパーオブジェクトであるためです。
Collectionインターフェースで利用可能なメソッドに加えて、Mapインターフェースには以下のメソッドも含まれています:
put(K,V) - キーKと値Vの関連付けをmapに挿入します。キーが既に存在する場合、新しい値は古い値を置き換えます。
putAll() - 指定されたMap集合のすべてのエントリをこのMap集合に挿入します。
putIfAbsent(K,V) - キーKがまだvalueに関連付けられていない場合、関連付けVを挿入します。
get(K) - 指定されたキーKに関連付けられた値を返します。キーが見つからない場合は、nullを返します。
getOrDefault(K,defaultValue) - 指定されたキーKに関連付けられた値を返します。キーが見つからない場合は、defaultValueを返します。
containsKey(K) - 指定されたキーKがmapに存在するかどうかを確認します。
containsValue(V) - 指定された値Vがmapに存在するかどうかを確認します。
replace(K,V) - キーKの値を新しい指定値Vに置き換えます。
replace(K,oldValue,newValue) - キーKが値oldValueに関連付けられている場合のみ、新値newValueでキーKの値を置き換えます。
remove(K) - キーKを表すMapからエントリを削除します。
remove(K,V) - Map集合からキーKと値Vに関連付けられたエントリを削除します。
keySet() -Map集合に存在するすべてのキーのセットを返します。
values() -Map集合に含まれるすべての値のセットを返します。
entrySet() -mapに存在するすべてのキーを返します/値マッピングの集合。
1.HashMapクラスを実装します
import java.util.Map; import java.util.HashMap; class Main { public static void main(String[] args) { //HashMapクラスを使用してmapを作成します Map<String, Integer> numbers = new HashMap<>(); //要素をmap集合に挿入します numbers.put("One", 1); numbers.put("Two", 2); System.out.println("Map: " + numbers); //mapのキー System.out.println("Keys: " + numbers.keySet()); //mapの値 System.out.println("Values: " + numbers.values()); //mapのエントリ System.out.println("Entries: " + numbers.entrySet()); //マップ集合から要素を削除します int value = numbers.remove("Two"); System.out.println("削除された値は: " + value); } }
出力結果
Map: {One=1, Two=2} Keys: [One, Two] Values: [1, 2] Entries: [One=1, Two=2] 削除された値は: 2
HashMapについてもっと詳しく知りたい場合は、こちらを訪問してくださいJava HashMap。
2.TreeMapクラスを実装します
import java.util.Map; import java.util.TreeMap; class Main { public static void main(String[] args) { //TreeMapを使用してmapを作成します Map<String, Integer> values = new TreeMap<>(); //要素をmapに挿入します values.put("Second", 2); values.put("First", 1); System.out.println("TreeMapを使用してmapを作成します: " + values); //置換値 values.replace("First", 11); values.replace("Second", 22); System.out.println("新しいマップ: " + values); //マップ集合から要素を削除します int removedValue = values.remove("First"); System.out.println("削除された値: " + removedValue); } }
出力結果
TreeMap を使用してマップを作成します: {First=1, Second=2} 新しいマップ: {First=11, Second=22} 削除された値: 11
TreeMap に関する詳細情報を知りたい場合は、訪問してくださいJava TreeMap。