JAVA遍历map元素
第一种:
- Map map = new HashMap();
- Iterator iter = map.entrySet().iterator();
- while (iter.hasNext()) {
- Map.Entry entry = (Map.Entry) iter.next();
- Object key = entry.getKey();
- Object val = entry.getValue();
- }
效率高,推荐使用此种方式!
第二种:
- Map map = new HashMap();
- Iterator iter = map.keySet().iterator();
- while (iter.hasNext()) {
- Object key = iter.next();
- Object val = map.get(key);
- }
效率低,以后尽量少使用!
JDK1.5中,应用新特性For-Each循环
- Map map = 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元素的更多相关文章
- java 遍历map 方法 集合 五种的方法
package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...
- java 遍历Map的四种方式
java 遍历Map的四种方式 CreationTime--2018年7月16日16点15分 Author:Marydon 一.迭代key&value 第一种方式:迭代entrySet 1 ...
- Java遍历Map键、值。获取Map大小的方法
Map读取键值对,Java遍历Map的两种实现方法 第一种方法是根据map的keyset()方法来获取key的set集合,然后遍历map取得value的值 import java.util.HashM ...
- java 遍历map的方法
package com.jackey.topic; import java.util.ArrayList;import java.util.HashMap;import java.util.Itera ...
- Java遍历Map的4种方式
public static void main(String[] args) { // 循环遍历Map的4中方法 Map<Integer, Integer> map = new HashM ...
- [转载] Java 遍历 Map 的 5 种方式
目录 1 通过 keySet() 或 values() 方法遍历 2 通过 keySet 的 get(key) 获取值 3 通过 entrySet 遍历 4 通过迭代器 Iterator 遍历 5 通 ...
- java遍历map的四种方式
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
- Java遍历Map的3种方式
package test; import java.util.Collection; import java.util.HashMap; import java.util.Map; import ja ...
- java遍历map方法
java 代码: import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Map ...
随机推荐
- Matplotlib 如何显示中文
Python 3.x 主要是如下代码 import os font = FontProperties(fname=os.path.expandvars(r"%windir%\fonts\si ...
- jzoj5987. 【WC2019模拟2019.1.4】仙人掌毒题 (树链剖分+概率期望+容斥)
题面 题解 又一道全场切的题目我连题目都没看懂--细节真多-- 先考虑怎么维护仙人掌.在线可以用LCT,或者像我代码里先离线,并按时间求出一棵最小生成树(或者一个森林),然后树链剖分.如果一条边不是生 ...
- PHP实现用户登录注册功能
初学php做了一些比较常见且有用的页面,放在上面记录一下咯 我是用了bootstrap框架里面的模态框做注册登陆页面,这样页面比较美观 页面效果: 注册成功条件/功能: 1)用户名不能冲突 2)两次密 ...
- ZOJ3329(数学推导+期望递推)
要点: 1.期望的套路,要求n以上的期望,则设dp[i]为i分距离终点的期望步数,则终点dp值为0,答案是dp[0]. 2.此题主要在于数学推导,一方面是要写出dp[i] = 什么,虽然一大串但是思维 ...
- 关于 ie8不兼容的一些方法
ie8 不兼容的方法 $(function(){ //添加数组IndexOf方法 if (!Array.prototype.indexOf){ Array.prototype.indexOf = fu ...
- 语义分割丨DeepLab系列总结「v1、v2、v3、v3+」
花了点时间梳理了一下DeepLab系列的工作,主要关注每篇工作的背景和贡献,理清它们之间的联系,而实验和部分细节并没有过多介绍,请见谅. DeepLabv1 Semantic image segmen ...
- Windows科研工具
本人是计算机专业的在读研究生,平时工作环境主要用win10远程ubuntu,下面推荐一些我用过且觉得不错的应用. 桌面美化 Wallpaper Engine:动态壁纸,很养眼,不过要下stream,花 ...
- 系统讲解一下,Dao,Entity,Servlet,Action各自有什么东西-Java/Web开发
dao 主要是一些接口,里面定义了一些用于增删改查的方法名 daoImpl 就是对dao的具体实现 Service 同上,也是一些接口,主要是用来调用dao层的一些方法,所以这里定义的方法一般都定义好 ...
- Django数据库创建与查询及ORM的概念
ORM:是封装在pymysql上层的文件.他的作用是把python语句转换成sql语句,从而去数据库里操作数据.从数据库里获得的数据,经过orm转换为对象,对象可以直接调用属性获得值.orm本质是个中 ...
- hihocoder1860 最大异或和
思路: 把N个前缀异或和插入一棵trie树中,然后对每个前缀异或和x计算能使x ^ y最大的前缀异或和y.利用了异或运算的a ^ b ^ a = b的性质. 参考了https://cloud.tenc ...