Javaの中のMap集合は簡単にまとめて解析します。
Mapインターフェースの紹介
Mapインターフェースは二列集合であり、各要素はキーオブジェクトKeyと値オブジェクトValueを含み、キーと値オブジェクトの間にはマッピングと呼ばれる対応関係がある。Mapセットから要素にアクセスする場合、Keyを指定すると、対応するValueが見つかります。
Mapの中のキーは唯一でなければいけません。重複できません。同じキーを保存すれば、後に格納された値は元の値をカバーします。つまり、キーは同じで、値は上書きされます。
Mapの常用方法
ハーシュMapのセットは、Mapインターフェースの一つであり、キーのマッピング関係を記憶するために使用されますが、重複したキーが現れないことを保証しなければなりません。次に一つのケースを通して、HashMapの使い方を学びます。
最初の方法は、Mapセット内のすべてのキーを巡回してから、キーに従って同じ値を取得することである。
一例を通してLinkdhashMapの使い方を学びます。
Mapインターフェースにはもう一つの実装クラスがあります。HashMap 10と似ています。Hashtableはスレッドの安全性に違いがあります。Hashtableは元素にアクセスする時は速度が遅く、現在は基本的にHashMap類に取って代わられていますが、Hashtable類にはサブクラスのProptiesがあります。実際の応用においては非常に重要です。
Proptiesは文字列タイプのキーと値を格納するために使用される限り、実際の開発では、Proptiesのセットを使用してアプリケーションの設定項目にアクセスすることが多い。テキスト編集ツールがあると仮定して、デフォルトの背景は赤色で、フォントサイズは14 pxで、言語は中国語で、その位置は以下の通りです。
Mapインターフェースは二列集合であり、各要素はキーオブジェクトKeyと値オブジェクトValueを含み、キーと値オブジェクトの間にはマッピングと呼ばれる対応関係がある。Mapセットから要素にアクセスする場合、Keyを指定すると、対応するValueが見つかります。
Mapの中のキーは唯一でなければいけません。重複できません。同じキーを保存すれば、後に格納された値は元の値をカバーします。つまり、キーは同じで、値は上書きされます。
Mapの常用方法
put(K key, V value) , ,
get(Object key)
Set<Map.Entry<K,V>> entrySet() Set
Set<K> keySet() Set
Collection<V> values() Collection
remove(Object key)
HashMap集合ハーシュMapのセットは、Mapインターフェースの一つであり、キーのマッピング関係を記憶するために使用されますが、重複したキーが現れないことを保証しなければなりません。次に一つのケースを通して、HashMapの使い方を学びます。
public class Example01 {
public static void main(String[] args) {
Map map = new HashMap();
map.put("1", " ");
map.put("2", " ");
map.put("3", " ");
System.out.println("1"+" : "+map.get("1")); //
System.out.println("2"+" : "+map.get("2"));
System.out.println("3"+" : "+map.get("3"));
}
}
Mapでは、Mapに記憶されているすべての値のCollectionのセットを直接に取得することができるvalues()の方法も提供されている。次に一つの事例を通して、values()の方法の使用を実証します。
public class Example04 {
public static void main(String[] args) {
Map map = new HashMap();
map.put("1", " ");
map.put("2", " ");
map.put("3", " ");
Collection values = map.values();
Iterator it = values.iterator();
while(it.hasNext()) {
Object value = it.next();
System.out.println(value);
}
}
}
プログラム開発では、Mapのすべてのキーと値を取り出す必要がありますが、どのようにMapのすべてのキーと値を遍歴しますか?最初の方法は、Mapセット内のすべてのキーを巡回してから、キーに従って同じ値を取得することである。
public class Example02 {
public static void main(String[] args) {
Map map = new HashMap();
map.put("1", " ");
map.put("2", " ");
map.put("3", " ");
Set keySet = map.keySet(); //
Iterator it = keySet.iterator(); //
while(it.hasNext()) {
Object key = it.next();
Object value = map.get(key); //
System.out.println(key+" : "+value);
}
}
}
第二の方法は、まずセット内のマッピング関係をすべて取得し、その後、マッピング関係からキーと値を取り出すことである。
public class Example03 {
public static void main(String[] args) {
Map map = new HashMap();
map.put("1", " ");
map.put("2", " ");
map.put("3", " ");
Set set = map.entrySet();
Iterator it = set.iterator(); //
while(it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next(); //
Object key = entry.getKey(); // Entry
Object value = entry.getValue(); // Entry
System.out.println(key+" : "+value);
}
}
}
HashMapの集合は、要素の順序と格納順序を反復することとは一致しない。これらの2つの順序を一致させるためには、Javaで提供されるLinked HashMapクラスを使用してもいいです。これはHashMapのサブクラスです。LinkdListと同じように、内部要素の関係を維持するために双方向のチェーンを使用して、Map元素の反復の順序と預け入れの順序が一致します。一例を通してLinkdhashMapの使い方を学びます。
public class Example05 {
public static void main(String[] args) {
Map map = new LinkedHashMap(); // Map
map.put("1", " "); //
map.put("2", " ");
map.put("3", " ");
Set keySet = map.keySet();
Iterator it = keySet.iterator();
while(it.hasNext()) {
Object key = it.next();
Object value = map.get(key); //
System.out.println(key+" : "+value);
}
}
}
Propties集合Mapインターフェースにはもう一つの実装クラスがあります。HashMap 10と似ています。Hashtableはスレッドの安全性に違いがあります。Hashtableは元素にアクセスする時は速度が遅く、現在は基本的にHashMap類に取って代わられていますが、Hashtable類にはサブクラスのProptiesがあります。実際の応用においては非常に重要です。
Proptiesは文字列タイプのキーと値を格納するために使用される限り、実際の開発では、Proptiesのセットを使用してアプリケーションの設定項目にアクセスすることが多い。テキスト編集ツールがあると仮定して、デフォルトの背景は赤色で、フォントサイズは14 pxで、言語は中国語で、その位置は以下の通りです。
Backgroup-color = red
Font-size = 14px
Language = chinese
プログラムではPropertiesの集合を使ってこれらの構成をアクセスできます。次に一つのケースを通してPropertiesの集合の使用を学びます。
public class Example06 {
public static void main(String[] args) {
Properties p = new Properties(); // Properties
p.setProperty("Backgroup-color", "red");
p.setProperty("Font-size ", "14px");
p.setProperty("Language", "chinese");
Enumeration names = p.propertyNames();
while(names.hasMoreElements()) { //
String key =(String) names.nextElement();
String value = p.getProperty(key); //
System.out.println(key+" = "+value);
}
}
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。