java Map 遍历方法

Java代码 复制代码
  1. Map map =  new  HashMap();   
  2.   
  3.     Iterator it = map.entrySet().iterator();   
  4.   
  5.      while  (it.hasNext()) {   
  6.   
  7.         Map.Entry entry = (Map.Entry) it.next();   
  8.   
  9.         Object key = entry.getKey();   
  10.   
  11.         Object value = entry.getValue();   
  12.   
  13. }  
Map map = new HashMap();

    Iterator it = map.entrySet().iterator();

    while (it.hasNext()) {

        Map.Entry entry = (Map.Entry) it.next();

        Object key = entry.getKey();

        Object value = entry.getValue();

}


JDK1.5中,应用新特性For-Each循环

Java代码 复制代码
  1. Map m =  new  HashMap();   
  2.   
  3. for (Object o : map.keySet()){   
  4.   
  5.     map.get(o);   
  6.   
  7. }  
Map m = new HashMap();

for(Object o : map.keySet()){

    map.get(o);

}


返回的 set 中的每个元素都是一个 Map.Entry 类型。

private Hashtable<String, String> emails = new Hashtable<String, String>();
  另外 我们可以先把hashMap 转为集合Collection,再迭代输出,不过得到的对象

//方法一: 用entrySet()

Java代码 复制代码
  1. Iterator it = emails.entrySet().iterator();   
  2.   
  3.     while (it.hasNext()){   
  4.   
  5.     Map.Entry m=(Map.Entry)it.next();   
  6.   
  7.     logger.info( "email-"  + m.getKey() +  ":"  + m.getValue());   
  8.   
  9.    }  
Iterator it = emails.entrySet().iterator();

   while(it.hasNext()){

    Map.Entry m=(Map.Entry)it.next();

    logger.info("email-" + m.getKey() + ":" + m.getValue());

   }



 

   // 方法二:jdk1.5支持,用entrySet()和For-Each循环()

Java代码 复制代码
  1. for  (Map.Entry<String, String> m : emails.entrySet()) {   
  2.   
  3.       
  4.   
  5.     logger.info( "email-"  + m.getKey() +  ":"  + m.getValue());   
  6.   
  7.    }  
for (Map.Entry<String, String> m : emails.entrySet()) {

   

    logger.info("email-" + m.getKey() + ":" + m.getValue());

   }



 

   // 方法三:用keySet()

Java代码 复制代码
  1. Iterator it = emails.keySet().iterator();   
  2.   
  3.    while  (it.hasNext()){   
  4.   
  5.    String key;   
  6.   
  7.    key=(String)it.next();   
  8.   
  9.    logger.info( "email-"  + key +  ":"  + emails.get(key));   
  10.   
  11.   }  
 Iterator it = emails.keySet().iterator();

   while (it.hasNext()){

    String key;

    key=(String)it.next();

    logger.info("email-" + key + ":" + emails.get(key));

   }


// 方法五:jdk1.5支持,用keySEt()和For-Each循环

Java代码 复制代码
  1. for (Object m: emails.keySet()){   
  2.   
  3.     logger.info( "email-"  + m+  ":"  + emails.get(m));   
  4.   
  5.    }   
  6.       Map    aa    =     new     HashMap();        
  7.  aa.put( "tmp1" ,     new     Object());         
  8. //追加      替换用同样的函数.         
  9. aa.remove( "temp1" );                           
  10. //删除         
  11. for     (Iterator    i    =    aa.values().iterator();    i.hasNext();    )    {              Object    temp    =    i.next();      }            
  12.   //遍历     
  13.   
  14.      
for(Object m: emails.keySet()){

    logger.info("email-" + m+ ":" + emails.get(m));

   }
      Map    aa    =    new    HashMap();     
 aa.put("tmp1",    new    Object());      
//追加      替换用同样的函数.      
aa.remove("temp1");                        
//删除      
for    (Iterator    i    =    aa.values().iterator();    i.hasNext();    )    {              Object    temp    =    i.next();      }         
 //遍历  

   



来个完整的,包含TreeSet的元素内部排序的

Java代码 复制代码
  1. public   static   void  main(String[] args) {   
  2.   
  3.    ArrayList<String> list =  new  ArrayList<String>();   
  4.   
  5.    HashMap<Object,Object> hash =  new  HashMap<Object,Object>();   
  6.   
  7.    TreeMap<Object,Object> treeMap =  new  TreeMap<Object,Object>();   
  8.   
  9.    list.add( "a" );   
  10.   
  11.    list.add( "b" );   
  12.   
  13.    list.add( "c" );   
  14.   
  15.      
  16.   
  17.    hash.put( 3 3 );   
  18.   
  19.    hash.put( 4 4 );   
  20.   
  21.    hash.put( 5 5 );   
  22.   
  23.    hash.put( 6 6 );   
  24.   
  25.    hash.put( 1 1 );   
  26.   
  27.    hash.put( 2 2 );   
  28.   
  29.      
  30.   
  31.    treeMap.put( 1 1 );   
  32.   
  33.    treeMap.put( 2 2 );   
  34.   
  35.    treeMap.put( 3 3 );   
  36.   
  37.    treeMap.put( 4 4 );   
  38.   
  39.    treeMap.put( 5 5 );   
  40.   
  41.    treeMap.put( 6 6 );   
  42.   
  43.      
  44.   
  45.     //list遍历   
  46.   
  47.     for (String m: list){   
  48.   
  49.     System.out.println(m);   
  50.   
  51.    }   
  52.   
  53.     // hashmap entrySet() 遍历   
  54.   
  55.     for (Map.Entry<Object,Object> m: hash.entrySet()){   
  56.   
  57.     System.out.println(m.getKey()+ "---" +m.getValue());   
  58.   
  59.    }   
  60.   
  61.     //hashmap keySet() 遍历   
  62.   
  63.     for (Object m: hash.keySet()){   
  64.   
  65.     System.out.println(m+ "---" +hash.get(m));   
  66.   
  67.    }   
  68.   
  69.     // treemap keySet()遍历   
  70.   
  71.     for (Object m: treeMap.keySet()){   
  72.   
  73.     System.out.println(m+ "---" +treeMap.get(m));   
  74.   
  75.    }   
  76.   
  77. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值