、地図インタフェースの概要
このオブジェクトの関係のためのキー値の目標を記憶するように設計されたjava.util.Mapインターフェース。
コレクションの地図と以下の違いを比較します。
-
- 単離された要素のセットのコレクション要素のコレクションを格納するための記憶素子によって、(単一理解されるように)存在しています。
- コレクションの地図は、要素はペア(夫と妻として理解)に存在しています。各要素は、2つの部分、キーと値から成り、値に対応するキーを介して求めることができます。
- コレクションシングルコレクションは、デュアル列セットと呼ばれる地図を設定し、セットと呼ばれます。
- 注:マップセットは重複キーを含めることはできません、値を繰り返すことができる。各キーは1つの値に対応します。
- 単離された要素のセットのコレクション要素のコレクションを格納するための記憶素子によって、(単一理解されるように)存在しています。
機能セットの地図:
1.マップコレクションは複列の集合であり、2つの要素の値(キー、値)が含まれ
2.要素のコレクション地図、キーと値のデータ型は同じでも異なっていてもよいです
コレクションの3マップ要素、キーは値を繰り返すことができ、リピートすることはできません
4.コレクション要素地図、キーと値が1桁です
注意:地図コレクションインターフェイスは、一般的な2つの変数があり、使用された場合、データの種類は、一般的な2つの変数に与えられます。両者のタイプの可変数
のデータ・タイプは、同じでも異なっていてもよいです。
二、Mapインタフェースの一般的な方法
一般的に使用される方法:
パブリックVプット(Kキー、Vの値): マップのキーの指定した値を加算がで設定された所定の 地図要素のセットを削除するキーに対応する指定されたキー、戻る:パブリックV削除(オブジェクトキー)要素の値が削除された
パブリックVの取得(オブジェクトキー):指定されたキーを、対応するマップ設定値取得
)公共セット<K>のkeySetを( : セットコレクションに保存されているすべてのキーの取得地図コレクション
公共のセット<のMap.Entry <K、V >>のentrySet() :して取得し、地図のすべてのオブジェクトのコレクション内のキーと値のペアのコレクション(セットコレクション)。
具体的な方法:
1、()メソッドを取得します
パブリックVの取得(オブジェクトキー)は、指定されたキーを持つマップでセットに対応する値を取得します。
戻り値:
キーが値に対応する値が返され、存在して
、キーが存在しない場合はnull
2、のcontainsKey()メソッド
ブールのcontainsKey(オブジェクトキー)のセットを分析するには、指定したキーが含まれています。
リターンはtrueを含み、それはfalseを返しますが含まれていません。
3、()メソッドを削除
パブリックV削除(オブジェクトキー):Mapの要素のセットを削除するには、キーに対応する指定されたキーは、要素の戻り値は削除されます。
戻り値:Vの
キーが存在し、vは削除された値を返す
キーが存在しない、Vはnullを返します
4、置く()メソッド
パブリックVプット(Kキー、Vの値): 地図指定されたコレクションにキーの指定した値を追加すること。
戻り値:V
キーと値のペアを格納したときに、キーが繰り返されることはありません、戻り値Vがnullである
キーと値のペア、キーの重複を保存した場合、新しい値が重複した値のマップに置き換えられます、戻り値を交換するための値であり、
三、地図コレクショントラバーサル方法
よる1、キーの値を探している方法
地図メソッドのセット:セット<K> keySet()このマップに含まれるキーのSetビューを返します。
実装手順:
コレクションセットに保存されている(1)を使用する地図のkeySetセット()、取り出されたすべてのマップキーのセット、
(2)セットによって設定された、設定されたマップの各キーを取得します
(3)地図の収集方法により、キー値によって発見、(キー)を取得します。
デモ:
1 public static void main(String[] args) {
2 //创建Map集合对象
3 Map<String,Integer> map = new HashMap<>();
4 map.put("赵丽颖",168);
5 map.put("杨颖",165);
6 map.put("林志玲",178);
7
8 //1.使用Map集合中的方法keySet(),把Map集合所有的key取出来,存储到一个Set集合中
9 Set<String> set = map.keySet();
10
11 //2.遍历set集合,获取Map集合中的每一个key
12 //使用迭代器遍历Set集合
13 Iterator<String> it = set.iterator();
14 while (it.hasNext()){
15 String key = it.next();
16 //3.通过Map集合中的方法get(key),通过key找到value
17 Integer value = map.get(key);
18 System.out.println(key+"="+value);
19 }
20 System.out.println("-------------------");
21 //使用增强for遍历Set集合
22 for(String key : set){
23 //3.通过Map集合中的方法get(key),通过key找到value
24 Integer value = map.get(key);
25 System.out.println(key+"="+value);
26 }
27 System.out.println("-------------------");
28 //使用增强for遍历Set集合
29 for(String key : map.keySet()){
30 //3.通过Map集合中的方法get(key),通过key找到value
31 Integer value = map.get(key);
32 System.out.println(key+"="+value);
33 }
34 }
2、使用 Entry 对象遍历
Map 中存放的是两种对象,一种称为 key(键),一种称为 value(值),它们在在 Map 中是一一对应关系,这一对对象又称做 Map 中的一个 Entry(项) 。
Entry 将键值对的对应关系封装成了对象。即键值对对象,这样我们在遍历 Map 集合时,就可以从每一个键值对( Entry )对象中获取对应的键与对应的值。
既然Entry表示了一对键和值,那么也同样提供了获取对应键和对应值得方法:
public K getKey() :获取Entry对象中的键。
public V getValue() :获取Entry对象中的值。
Map集合中的方法:
Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的 Set 视图。
实现步骤:
(1)使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中
(2)遍历Set集合,获取每一个Entry对象
(3)使用Entry对象中的方法getKey()和getValue()获取键与值
Demo:
1 public static void main(String[] args) {
2 //创建Map集合对象
3 Map<String,Integer> map = new HashMap<>();
4 map.put("赵丽颖",168);
5 map.put("杨颖",165);
6 map.put("林志玲",178);
7
8 //1.使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中
9 Set<Map.Entry<String, Integer>> set = map.entrySet();
10
11 //2.遍历Set集合,获取每一个Entry对象
12 //使用迭代器遍历Set集合
13 Iterator<Map.Entry<String, Integer>> it = set.iterator();
14 while(it.hasNext()){
15 Map.Entry<String, Integer> entry = it.next();
16 //3.使用Entry对象中的方法getKey()和getValue()获取键与值
17 String key = entry.getKey();
18 Integer value = entry.getValue();
19 System.out.println(key+"="+value);
20 }
21 System.out.println("-----------------------");
22 for(Map.Entry<String,Integer> entry:set){
23 //3.使用Entry对象中的方法getKey()和getValue()获取键与值
24 String key = entry.getKey();
25 Integer value = entry.getValue();
26 System.out.println(key+"="+value);
27 }
28 }
注意:Map集合不能直接使用迭代器或者foreach进行遍历。但是转成 Set 之后就可以使用了。
四、Map 常用子类
1、HashMap:
2、TreehMap: