常用方法 首先,我們應該知道HashMap類實現了Map介面,所以實現了Map常用的一些方法。 (1) 插入鍵值對數據 public V put(K key, V value) (2)根據鍵值獲取鍵值對值數據 public V get(Object key) (3)獲取Map中鍵值對的個數 publ ...
常用方法
首先,我們應該知道HashMap類實現了Map介面,所以實現了Map常用的一些方法。
(1) 插入鍵值對數據
public V put(K key, V value)
(2)根據鍵值獲取鍵值對值數據
public V get(Object key)
(3)獲取Map中鍵值對的個數
public int size()
(4)判斷Map集合中是否包含鍵為key的鍵值對
public boolean containsKey(Object key)
(5)判斷Map集合中是否包含值為value的鍵值對
boolean containsValue(Object value)
(6)判斷Map集合中是否沒有任何鍵值對
public boolean isEmpty()
(7)清空Map集合中所有的鍵值對
public void clear()
(8)根據鍵值刪除Map中鍵值對
public V remove(Object key)
示例
1 import java.util.HashMap; 2 import java.util.Map; 3 4 public class Demo01 { 5 6 public static void main(String[] args) { 7 // 聲明HashMap對象 8 Map<String,Integer> map= new HashMap<>(); 9 10 //添加數據 11 map.put("ZhangYi",98); 12 map.put("WangEr",99); 13 map.put("ZhangShan",89); 14 map.put("Lisi",92); 15 16 //根據鍵值對鍵值獲取數據‘’ 17 int value=map.get("Lisi"); 18 System.out.println("kay:Lisi And value:"+value); 19 20 //獲取Map中鍵值對的個數 21 int size=map.size(); 22 System.out.println("map 中的鍵值對個數為:"+size); 23 24 //判斷Map集合中是否包含鍵為key的鍵值對 25 boolean b1=map.containsKey("LiSI"); 26 boolean b2=map.containsKey("Lisi"); 27 System.out.println("是否包含鍵值為LiSI的鍵值對數據:"+b1); 28 System.out.println("是否包含鍵值為Lisi的鍵值對數據:"+b2); 29 30 //判斷Map集合中是否包含值為value的鍵值對 31 boolean b3=map.containsValue(99); 32 boolean b4=map.containsValue(100); 33 System.out.println("是否包含值為99的鍵值對數據:"+b3); 34 System.out.println("是否包含值為100的鍵值對數據:"+b4); 35 36 //判斷Map集合中是否沒有任何鍵值對 37 38 boolean b5=map.isEmpty(); 39 System.out.println("map中鍵值對數據是否為空:"+b5); 40 41 //根據鍵值刪除Map中鍵值對 42 int value2=map.remove("Lisi"); 43 System.out.println("刪除了鍵為Lisi的鍵值對數據,其值為:"+value2); 44 45 boolean b6=map.containsKey("Lisi"); 46 System.out.println("是否包含鍵值為Lisi的鍵值對數據:"+b6); 47 48 //清空Map集合中所有的鍵值對 49 map.clear(); 50 boolean b7=map.isEmpty(); 51 System.out.println("map中鍵值對數據是否為空:"+b7); 52 53 } 54 }
輸出結果為:
kay:Lisi And value:92 map 中的鍵值對個數為:4 是否包含鍵值為LiSI的鍵值對數據:false 是否包含鍵值為Lisi的鍵值對數據:true 是否包含值為99的鍵值對數據:true 是否包含值為100的鍵值對數據:false map中鍵值對數據是否為空:false 刪除了鍵為Lisi的鍵值對數據,其值為:92 是否包含鍵值為Lisi的鍵值對數據:false map中鍵值對數據是否為空:true
鍵值對數據遍歷
(1)將Map中所有的鍵裝到Set集合中返回
//public Set<K> keySet();
Set<K> set=map. keySet()
(2)返回集合中所有的value的值的集合
// public Collection<V> values();
Collection<V> c=map.values()
(3)將每個鍵值對封裝到一個個Entry對象中,再把所有Entry的對象封裝到Set集合中返回
// public Set<Map.Entry<K,V>> entrtSet();
Set<Map.Entry<K,V>> entrys=map.entrySet()
示例:
1 import java.util.Collection; 2 import java.util.HashMap; 3 import java.util.Map; 4 import java.util.Set; 5 6 public class Demo02 { 7 public static void main(String[] args) { 8 // 聲明HashMap對象 9 Map<String,Integer> map= new HashMap<>(); 10 11 //添加數據 12 map.put("ZhangYi",98); 13 map.put("WangEr",99); 14 map.put("ZhangShan",89); 15 map.put("Lisi",92); 16 17 //(1)將Map中所有的鍵裝到Set集合中返回 18 Set<String> keys=map.keySet(); 19 for(String key:keys){ 20 int value=map.get(key); 21 System.out.println("key:"+key+" and value:"+value); 22 } 23 24 //(2)返回集合中所有的value的值的集合 25 Collection<Integer> values=map.values(); 26 for(int value:values){ 27 System.out.print(value+" "); 28 } 29 System.out.println(); 30 31 //(3)將每個鍵值對封裝到一個個Entry對象中,再把所有Entry的對象封裝到Set集合中返回 32 Set<Map.Entry<String,Integer>> entries=map.entrySet(); 33 for(Map.Entry<String,Integer> entry :entries){ 34 String key=entry.getKey(); 35 int value=entry.getValue(); 36 System.out.println("key:"+key+" and value:"+value); 37 } 38 } 39 40 }
輸出結果為:
key:Lisi and value:92 key:ZhangYi and value:98 key:ZhangShan and value:89 key:WangEr and value:99 92 98 89 99 key:Lisi and value:92 key:ZhangYi and value:98 key:ZhangShan and value:89 key:WangEr and value:99