zoukankan      html  css  js  c++  java
  • JAVA遍历map元素

    第一种:

    Java代码  收藏代码
    1. Map map = new HashMap();  
    2. Iterator iter = map.entrySet().iterator();  
    3. while (iter.hasNext()) {  
    4.     Map.Entry entry = (Map.Entry) iter.next();  
    5.     Object key = entry.getKey();  
    6.     Object val = entry.getValue();  
    7. }  

     效率高,推荐使用此种方式!

    第二种:

    Java代码  收藏代码
    1. Map map = new HashMap();  
    2. Iterator iter = map.keySet().iterator();  
    3. while (iter.hasNext()) {  
    4.     Object key = iter.next();  
    5.     Object val = map.get(key);  
    6. }   

     效率低,以后尽量少使用!

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

    Java代码  收藏代码
    1. Map map = new HashMap();  
    2. for(Object o : map.keySet()){  
    3.     map.get(o);  
    4. }  

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

    Java代码  收藏代码
    1. private Hashtable<String, String> emails = new Hashtable<String, String>();  
    2.    //方法一: 用entrySet()  
    3.    Iterator it = emails.entrySet().iterator();  
    4.    while(it.hasNext()){  
    5.        Map.Entry m=(Map.Entry)it.next();  
    6.        logger.info("email-" + m.getKey() + ":" + m.getValue());  
    7.    }  
    8.     
    9.    // 方法二:jdk1.5支持,用entrySet()和For-Each循环()  
    10.    for (Map.Entry<String, String> m : emails.entrySet()) {  
    11.        logger.info("email-" + m.getKey() + ":" + m.getValue());  
    12.    }  
    13.     
    14.    // 方法三:用keySet()  
    15.    Iterator it = emails.keySet().iterator();  
    16.    while (it.hasNext()){  
    17.        String key;  
    18.        key=(String)it.next();  
    19.        logger.info("email-" + key + ":" + emails.get(key));  
    20.    }  
    21.   
    22. // 方法五:jdk1.5支持,用keySEt()和For-Each循环  
    23.   
    24. for(Object m: emails.keySet()){  
    25.        logger.info("email-" + m+ ":" + emails.get(m));  
    26.    }  

     

    另外 我们可以先把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. {     
    6.          Object    temp    =    i.next();     
    7.  }   

     

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

    Java代码  收藏代码
    1. public static void main(String[] args) {  
    2.    ArrayList<String> list = new ArrayList<String>();  
    3.    HashMap<Object,Object> hash = new HashMap<Object,Object>();  
    4.    TreeMap<Object,Object> treeMap = new TreeMap<Object,Object>();  
    5.    list.add("a");  
    6.    list.add("b");  
    7.    list.add("c");  
    8.     
    9.    hash.put(3, 3);  
    10.    hash.put(4, 4);  
    11.    hash.put(5, 5);  
    12.    hash.put(6, 6);  
    13.    hash.put(1, 1);  
    14.    hash.put(2, 2);  
    15.     
    16.    treeMap.put(1, 1);  
    17.    treeMap.put(2, 2);  
    18.    treeMap.put(3, 3);  
    19.    treeMap.put(4, 4);  
    20.    treeMap.put(5, 5);  
    21.    treeMap.put(6, 6);  
    22.     
    23.    //list遍历  
    24.    for(String m: list){  
    25.     System.out.println(m);  
    26.    }  
    27.    // hashmap entrySet() 遍历  
    28.    for(Map.Entry<Object,Object> m: hash.entrySet()){  
    29.     System.out.println(m.getKey()+"---"+m.getValue());  
    30.    }  
    31.    //hashmap keySet() 遍历  
    32.    for(Object m: hash.keySet()){  
    33.     System.out.println(m+"---"+hash.get(m));  
    34.    }  
    35.    // treemap keySet()遍历  
    36.    for(Object m: treeMap.keySet()){  
    37.     System.out.println(m+"---"+treeMap.get(m));  
    38.    }  
    39. }  
  • 相关阅读:
    线程资料整理
    泛型委托使用
    生成树形结构的JSON字符串代码(C#)供前端Angular tree使用.
    Bootstrap学习笔记(6)
    Bootstrap学习笔记(5)
    Bootstrap学习笔记(4)
    渗透利器-kali工具 (第一章-3) Kali Linux 基础命令介绍下
    渗透利器-kali工具 (第一章-2) Kali Linux 基础命令介绍上
    渗透利器-kali工具 (第一章-1) Kali
    渗透利器-kali工具 (第一章) 前言篇
  • 原文地址:https://www.cnblogs.com/likeju/p/5112111.html
Copyright © 2011-2022 走看看