Map.Entry 和 Map.entrySet() 遍历hashMap,hashTable

发现HashMap 用到下面的格式 ,直接循环遍历整个hashMap  hashTable

返回的 set 中的每个元素都是一个 Map.Entry 类型。
Java代码
  1. private Hashtable<String, String> emails = new Hashtable<String, String>(); 
  2.  
  3. //    方法一: 用entrySet() 
  4. //    Iterator it = emails.entrySet().iterator(); 
  5. //    while(it.hasNext()){ 
  6. //        Map.Entry m=(Map.Entry)it.next(); 
  7. //        logger.info("email-" + m.getKey() + ":" + m.getValue()); 
  8. //    } 
  9.    
  10.   // 方法二:直接再循环中 
  11.   for (Map.Entry<String, String> m : emails.entrySet()) { 
  12.       logger.info("email-" + m.getKey() + ":" + m.getValue()); 
  13.   } 
  14.    
  15.   // 方法三:用keySet() 
  16.   Iterator it = emails.keySet().iterator(); 
  17.   while (it.hasNext()){ 
  18.       String key; 
  19.       key=(String)it.next(); 
  20.       logger.info("email-" + key + ":" + emails.get(key)); 
  21.   } 


另外 我们可以先把hashMap 转为集合Collection,再迭代输出,不过得到的对象

Java代码
  1. Map aa = new HashMap();    
  2. aa.put("tmp1", new Object());     //追加     替换用同样的函数.    
  3. aa.remove("temp1");   //删除    
  4. for(Iterator i = aa.values().iterator(); i.hasNext();)   {    
  5.       Object temp =  i.next();    

你可能感兴趣的:(java,String,object,HashMap,iterator)