集合框架-Map集合功能概述
1:Map(掌握)
(1)將鍵對映到值的物件。一個對映不能包含重複的鍵;每個鍵最多隻能對映到一個值。
(2)Map和Collection的區別?
A:Map 儲存的是鍵值對形式的元素,鍵唯一,值可以重複。夫妻對
B:Collection 儲存的是單獨出現的元素,子介面Set元素唯一,子介面List元素可重複。光棍
(3)Map介面功能概述(自己補齊)
A:新增功能
B:刪除功能
C:判斷功能
D:獲取功能
E:長度功能
package cn.itcast_01;
import java.util.HashMap;
import java.util.Map;
/*
* 作為學生來說,是根據學號來區分不同的學生的,那麼假設我現在已經知道了學生的學號,我要根據學號去獲取學生姓名,請問怎麼做呢?
* 如果採用前面講解過的集合,我們只能把學號和學生姓名作為一個物件的成員,然後儲存整個物件,將來遍歷的時候,判斷,獲取對應的名稱。
* 但是呢,如果我都能把學生姓名拿出來了,我還需要根據編號去找嗎?
* 針對我們目前的這種需求:僅僅知道學號,就想知道學生姓名的情況,Java就提供了一種新的集合 Map。
* 通過檢視API,我們知道Map集合的一個最大的特點,就是它可以儲存鍵值對的元素。這個時候儲存我們上面的需求,就可以這樣做
* 學號1 姓名1
* 學號2 姓名2
* 學號3 姓名3
* 學號2(不行) 姓名4
* 學號4 姓名4
* Map集合的特點:
* 將鍵對映到值的物件。一個對映不能包含重複的鍵;每個鍵最多隻能對映到一個值。
*
* Map集合和Collection集合的區別?
* Map集合儲存元素是成對出現的,Map集合的鍵是唯一的,值是可重複的。可以把這個理解為:夫妻對
* Collection集合儲存元素是單獨出現的,Collection的兒子Set是唯一的,List是可重複的。可以把這個理解為:光棍(11.11)
*
* 注意:
* Map集合的資料結構值針對鍵有效,跟值無關
* HashMap,TreeMap等會講。
* Collection集合的資料結構是針對元素有效
*
* Map集合的功能概述:
* 1:新增功能
* V put(K key,V value):新增元素。這個其實還有另一個功能? 修改替換功能,第二次put,該鍵存在就把以前的值替換掉
* 如果鍵是第一次儲存,就直接儲存元素,返回null
* 如果鍵不是第一次儲存,就用值把以前的值替換掉,返回以前的值
* 2:刪除功能
* void clear():移除所有的鍵值對元素
* V remove(Object key):根據鍵刪除鍵值對元素,並把值返回
* 3:判斷功能
* boolean containsKey(Object key):判斷集合是否包含指定的鍵
* boolean containsValue(Object value):判斷集合是否包含指定的值
* boolean isEmpty():判斷集合是否為空
* 4:獲取功能
* Set<Map.Entry<K,V>> entrySet():獲取集合中所有的鍵值物件的集合(遍歷map的第二種方式)
* V get(Object key):根據鍵獲取值
* Set<K> keySet():獲取集合中所有鍵的集合(遍歷map的第一種方式)
* Collection<V> values():獲取集合中所有值的集合
* 5:長度功能
* int size():返回集合中的鍵值對的對數
*/
public class MapDemo {
public static void main(String[] args) {
// 建立集合物件
Map<String, String> map = new HashMap<String, String>();
// 新增元素
// V put(K key,V value):新增元素。這個其實還有另一個功能?先不告訴你,等會講
// System.out.println("put:" + map.put("文章", "馬伊俐"));
// System.out.println("put:" + map.put("文章", "姚笛"));
map.put("鄧超", "孫儷");
map.put("黃曉明", "楊穎");
map.put("周杰倫", "蔡依林");
map.put("劉愷威", "楊冪");
// void clear():移除所有的鍵值對元素
// map.clear();
// V remove(Object key):根據鍵刪除鍵值對元素,並把值返回
// System.out.println("remove:" + map.remove("黃曉明"));
// System.out.println("remove:" + map.remove("黃曉波"));
// boolean containsKey(Object key):判斷集合是否包含指定的鍵
// System.out.println("containsKey:" + map.containsKey("黃曉明"));
// System.out.println("containsKey:" + map.containsKey("黃曉波"));
// boolean isEmpty():判斷集合是否為空
// System.out.println("isEmpty:"+map.isEmpty());
//int size():返回集合中的鍵值對的對數
System.out.println("size:"+map.size());
// 輸出集合名稱
System.out.println("map:" + map);
}
}
package cn.itcast_01;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/*
* 獲取功能:
* V get(Object key):根據鍵獲取值
* Set<K> keySet():獲取集合中所有鍵的集合
* Collection<V> values():獲取集合中所有值的集合
*/
public class MapDemo2 {
public static void main(String[] args) {
// 建立集合物件
Map<String, String> map = new HashMap<String, String>();
// 建立元素並新增元素
map.put("鄧超", "孫儷");
map.put("黃曉明", "楊穎");
map.put("周杰倫", "蔡依林");
map.put("劉愷威", "楊冪");
// V get(Object key):根據鍵獲取值
System.out.println("get:" + map.get("周杰倫"));// 返回蔡依林
System.out.println("get:" + map.get("周杰")); // 返回null
System.out.println("----------------------");
// Set<K> keySet():獲取集合中所有鍵的集合
Set<String> set = map.keySet();
for (String key : set) {
System.out.println(key);//周杰倫、劉愷威、鄧超、黃曉明
}
System.out.println("----------------------");
// Collection<V> values():獲取集合中所有值的集合
Collection<String> con = map.values();
for (String value : con) {
System.out.println(value);蔡依林、楊冪、孫儷、楊穎
}
}
}
相關文章
- 集合框架-Map集合的遍歷框架
- JAVA集合框架 - Map介面Java框架
- 集合框架體系概述框架
- 【翻譯】集合框架概述框架
- Java中 集合框架概述Java框架
- Java集合框架List,Map,Set等Java框架
- Map集合
- 【Java集合】1 集合概述Java
- 集合框架-LinkedHashMap的概述和使用框架HashMap
- 集合框架-LinkedHashSet的概述和使用框架
- Java 集合概述Java
- java集合概述Java
- 集合框架-TreeMap集合框架
- 集合框架-Set集合框架
- 集合框架-TreeSet集合框架
- 集合框架-Collection集合框架
- 集合框架-List集合框架
- 集合框架-泛型類的概述及使用框架泛型
- 集合框架-泛型方法的概述和使用框架泛型
- 集合框架-泛型介面的概述和使用框架泛型
- Java集合類——MapJava
- Map集合筆記筆記
- JAVA集合——Map介面Java
- 【集合框架】Java集合框架綜述框架Java
- 集合框架-集合總結框架
- 集合框架-List集合-2框架
- 集合框架-List集合-3框架
- 集合框架-Collection集合-2框架
- 集合框架-Collection集合-3框架
- Java集合 - 集合知識點總結概述Java
- 【java】【集合】陣列和集合的基本概述Java陣列
- 集合框架-HashMap集合的案例框架HashMap
- Java集合(1)一 集合框架Java框架
- 集合框架-Collection集合總結框架
- 集合框架框架
- Java Map集合練習Java
- java中的Map集合Java
- Java集合類的概述Java