Java学习笔记之 Map取出元素的三种方式

时间:2022-02-19 15:41:29
Map集合取出元素的原理:
先将map集合转成Set集合。然后对set集合进行迭代。
keySet:将所有的键取出存放在Set集合中,对Set集合进行迭代,并通过map集合的get方法,获取键所对应的value。


entrySet:将键值的关系取出存入到了Set集合中。键值关系有自己的类型就是:Map.Entry。
Map.Entry就是Map接口中定义了一个静态接口Entry
可以通过Map.Entry对象的getKey(),getValue().

values()

[java]  view plain  copy
  1. import java.util.*;  
  2.   
  3. public class HashMapDemo1 {  
  4.   
  5.     /** 
  6.      * @param args 
  7.      * 存入键值 ,要保证键的唯一性。 
  8.      */  
  9.     public static void main(String[] args) {  
  10.         // TODO Auto-generated method stub  
  11.         HashMap<String, String> hm=new HashMap<String,String>();  
  12.         hm.put("zs""beijing");  
  13.         hm.put("ls""nanjing");  
  14.         hm.put("was""beijing");  
  15.         hm.put("zdds""shenzhen");  
  16.         hm.put("ls""tieling"); // 键相同时,存入后存的值  
  17.         //取出元素第一种方式:keySet()  
  18.         //将所有的键取出存在SET中,在通过键取出键所对应的值!  
  19.         Set<String> keSet=hm.keySet();  
  20.         for (Iterator<String> iterator = keSet.iterator(); iterator.hasNext();) {  
  21.             String string = iterator.next();  
  22.             //System.out.println(string+" value: "+hm.get(string));  
  23.               
  24.         }  
  25.         //第二种方式 entrySet()  
  26.         Set<Map.Entry<String, String>> set2=hm.entrySet();    
  27.         for (Iterator <Map.Entry<String, String>> iterator = set2.iterator(); iterator.hasNext();) {  
  28.             Map.Entry<String, String> entry = (Map.Entry<String, String>) iterator  
  29.                     .next();  
  30.             String key=entry.getKey();  
  31.             String valueString=entry.getValue();  
  32.             System.out.println(key+"...."+valueString);  
  33.               
  34.         }  
  35.         //第三种取出方式 values()  
  36.         Collection<String> co=hm.values();  
  37.         for (Iterator<String> iterator = co.iterator(); iterator.hasNext();) {  
  38.             String string = (String) iterator.next();  
  39.             System.out.print(string);  
  40.         }  
  41.     }  
  42.   
  43. }