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 ...
随机推荐
- 渲染路径-实时渲染中常用的几种Rendering Path
http://www.cnblogs.com/polobymulberry/p/5126892.html?utm_source=tuicool&utm_medium=referral 回到顶部 ...
- C#中的yield return
4.1 迭代器块 一个迭代器块(iterator block)是一个能够产生有序的值序列的块.迭代器块和普通语句块的区别就是其中出现的一个或多个yield语句. yield return语句产生迭代的 ...
- Linux权限相关
权限分组 用户:文件所有者 用户组:多个用户的集合 其他:除了用户和用户组之外的任何用户 权限类别 r:表示读的权限 w:表示写的权限 x:表示执行的权限 s:表示setuid权限,允许用户以其拥有者 ...
- C 语言实例 - 删除字符串中的特殊字符
C 语言实例 - 删除字符串中的特殊字符 C 语言实例 C 语言实例 删除字符串中的除字母外的字符. 实例 #include<stdio.h> int main() { ]; int i, ...
- 推荐一款功能齐全的开源客户端( iOS 、Android )研发助手。
DoraemonKit ,简称DoKit,中文名 哆啦A梦,意味着能够像哆啦A梦一样提供给他的主人各种各样的工具. 开发背景 每一个稍微有点规模的 App,总会自带一些线下的测试功能代码,比如环境切换 ...
- 设置DataTable行属性
dt.Columns["ColumnName"].DataType=Type.GetType("System.bool");
- 怎么样去优化我们的SQL语句
1.改写in 在SQL语言中,一个查询块可以作为另一个查询块中谓词的一个操作数.因此,SQL查询可以层层嵌套.例如在一个大型分布式数据库系统中,有订单表Order.订单信息表OrderDetail,如 ...
- prerender-spa-plugin预处理vue项目实践
由于公司想要把商城做由之前的php和前端混合开发改版为前后端分离,所以拿现在手上的vue项目来实践一下 https://github.com/chrisvfritz/prerender-spa-plu ...
- game 竞赛图 缩环
[问题背景] zhx 和他的妹子(们)做游戏. [问题描述] 考虑 N 个人玩一个游戏, 任意两个人之间进行一场游戏 (共 N*(N-)/ 场) , 且每场一定能分出胜负. 现在,你需要在其中找到三个 ...
- JVM垃圾回收机制三
垃圾回收器 分代垃圾回收常见的垃圾回收器 判断一个垃圾回收器好坏的标准 1.吞吐量越高越好 2.工作线程暂停时间越短越好. Serial垃圾回收器 串行回收器时最古老的最基本的垃圾回收器,工作线程会产 ...