JDK1.4中

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循环

Map m = new HashMap(); 
for(Object o : map.keySet()){ 
    map.get(o); 
}

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

private Hashtable<String, String> emails = new Hashtable<String, String>();

//方法一: 用entrySet() 
   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循环() 
   for (Map.Entry<String, String> m : emails.entrySet()) { 
   
    logger.info("email-" + m.getKey() + ":" + m.getValue()); 
   } 
  
   // 方法三:用keySet() 
   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循环

for(Object m: emails.keySet()){ 
    logger.info("email-" + m+ ":" + emails.get(m)); 
   }

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

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的元素内部排序的

public static void main(String[] args) { 
   ArrayList<String> list = new ArrayList<String>(); 
   HashMap<Object,Object> hash = new HashMap<Object,Object>(); 
   TreeMap<Object,Object> treeMap = new TreeMap<Object,Object>(); 
   list.add("a"); 
   list.add("b"); 
   list.add("c"); 
  
   hash.put(3, 3); 
   hash.put(4, 4); 
   hash.put(5, 5); 
   hash.put(6, 6); 
   hash.put(1, 1); 
   hash.put(2, 2); 
  
   treeMap.put(1, 1); 
   treeMap.put(2, 2); 
   treeMap.put(3, 3); 
   treeMap.put(4, 4); 
   treeMap.put(5, 5); 
   treeMap.put(6, 6); 
  
   //list遍历 
   for(String m: list){ 
    System.out.println(m); 
   } 
   // hashmap entrySet() 遍历 
   for(Map.Entry<Object,Object> m: hash.entrySet()){ 
    System.out.println(m.getKey()+"---"+m.getValue()); 
   } 
   //hashmap keySet() 遍历 
   for(Object m: hash.keySet()){ 
    System.out.println(m+"---"+hash.get(m)); 
   } 
   // treemap keySet()遍历 
   for(Object m: treeMap.keySet()){ 
    System.out.println(m+"---"+treeMap.get(m)); 
   } 
}

java如何遍历map的所有的元素(各种方法)的更多相关文章

  1. Java中遍历Map集合的四种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  2. Java中遍历Map的几种方法

      转自: http://blog.csdn.net/wzb56/article/details/7864911 方法分为两类: 一类是基于map的Entry:map.entrySet(); 一类是基 ...

  3. java中遍历map对象的多种方法

    在Java中如何遍历Map对象   How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有ma ...

  4. java中遍历MAP,嵌套map的几种方法

    java中遍历MAP的几种方法 Map<String,String> map=new HashMap<String,String>();    map.put("us ...

  5. 整理的Java List Set Map是否有序,元素是否允许重复

    整理的Java List Set Map是否有序,元素是否允许重复的说明,如下图:

  6. Java中遍历map的四种方法 - 转载

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  7. JAVA中遍历Map和Set方法,取出map中所有的key

    Java遍历Set集合 1.迭代器遍历: Set<String> set = new HashSet<String>(); Iterator<String> it ...

  8. java 中遍历Map的几种方法

    方法分为两类: 一类是基于map的Entry:map.entrySet(); 一类是基于map的key:map.keySet() 而每一类都有两种遍历方式: a.利用迭代器 iterator: b.利 ...

  9. java 如何遍历Map对象

    内容介绍 在java中遍历Map对象的方法. Map对象 Map<String,Object> map = new HashMap<>(); map.put("xia ...

随机推荐

  1. 那些“不务正业”的IT培训公司

    Before First 大四下期了,现在准备找一份Java开发的实习工作,于是在各大网站上投递简历-智联招聘.51job.拉勾网,慧眼识真金的我必然会把培训机构给过滤掉,对于重庆来说招聘实习的公司少 ...

  2. 【SPOJ694&705】Distinct Substrings(后缀数组)

    题意:求一个字符串的不相同的子串个数 n<=1000 思路:这是一道论文题 ..]of longint; n,i,m,ans,v,cas:longint; ch:ansistring; proc ...

  3. django学习之- Ajax

    提示:jquery要使用1版本,因为高版本已不兼容低版本的游览器.参考url:http://www.cnblogs.com/wupeiqi/articles/5703697.html原生ajax:Aj ...

  4. PAT (Advanced Level) 1035. Password (20)

    简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...

  5. C. Wilbur and Points---cf596C

    http://codeforces.com/problemset/problem/596/C 题目大意:  给你n个数对  确保如果(x,y)存在这个集合  那么  0<=x'<=x &a ...

  6. Atom编辑Markdown文件保存后行尾的空格自动消失的问题解决

    Markdown文件的行尾增加两个空格表示一行结束需要换行. 但保存文件后,行尾的空格自动消失,导致不换行. 解决方法: 1.[Edit]->[Preferences]->[Package ...

  7. Java中的数字

    以下内容引用自http://wiki.jikexueyuan.com/project/java/numbers.html: 通常情况下,当处理数字时,使用原始数据类型,如byte,int,long,d ...

  8. 下一代的中间件必须是支持docker规范的

    下一代的中间件必须是支持docker规范的,这是中间件技术走向标准规范化的必经之路. 什么是 Docker? 答案是:Docker 是下一代的云计算模式.Docker 是下一代云计算的主流趋势. Do ...

  9. VB6 如何添加自定义函数 模块 把代码放到一个模块中

    1 工程-添加模块,在右侧工程视图中可以发现多了一个Module1   2 比如我在这个模块中自定义两个函数,分别为写入和读取INI的函数   3 则在主程序中已经可以直接调用  

  10. Mongodb for PHP教程之管理工具

    1:下面的事情应该是PHP程序员应该了解的,更详细的参考可以百度谷歌之 mongodb PHP官方文档http://us.php.net/manual/en/book.mongo.php 1.Mong ...