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. [NOIP1998] 提高组 洛谷P1011 车站

    题目描述 火车从始发站(称为第1站)开出,在始发站上车的人数为a,然后到达第2站,在第2站有人上.下车,但上.下车的人数相同,因此在第2站开出时(即在到达第3站之前)车上的人数保持为a人.从第3站起( ...

  2. QueenAttack

    问题分析: 1.对于行和列,要求得每行或每列的棋子个数,只需要把横坐标或纵坐标相同的棋子数目相加即可,然后使用k*(k-1)/2就可求得攻击次数 2.对于对角线上的点,需要分析对角线上点的坐标关系.分 ...

  3. 使用DataOutputStream输出流的read方法出现读取字节不一致解决办法,本地和测试环境不一致

    之前: DataInputStream in = new DataInputStream(connection.getInputStream());    byte[] b = new byte[in ...

  4. python学习之-- 协程

    协程(coroutine)也叫:微线程,是一种用户态的轻量级线程,就是在单线程下实现并发的效果.优点:1:无需线程上下文切换的开销.(就是函数之间来回切换)2:无需原子操作锁定及同步的开销.(如改一个 ...

  5. ArcGIS Engine 中的绘制与编辑

    1.线段绘制 基本步骤 构建形状 1. 创建 IPoint IPoint m_Point = new PointClass(); m_Point.PutCoords(x, y); 2. 创建 IPoi ...

  6. C# 9.0新特性

    CandidateFeaturesForCSharp9 看到标题,是不是认为我把标题写错了?是的,C# 8.0还未正式发布,在官网它的最新版本还是Preview 5,通往C#9的漫长道路却已经开始.前 ...

  7. input 文本框禁止输入表情

    js在用户输入表情时自动过滤掉 <input type="text" id="input" maxlength="10"/> v ...

  8. js 计算两个日期之间 相差几年几月几日

    1.计算日期差 Mine.vue <!-- 我的 --> <template> <div> <!-- 标题栏 --> <x-header :lef ...

  9. Echarts 的样例

    jsp页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...

  10. IIS 配置 FTP 网站 H5 音频标签自定义样式修改以及添加播放控制事件

    IIS 配置 FTP 网站   在 服务器管理器 的 Web服务器IIS 上安装 FTP 服务 在 IIS管理器 添加FTP网站 配置防火墙规则 说明:服务器环境是Windows Server 200 ...