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 ...
随机推荐
- KING_Unity学习之UGUI_Canvas渲染顺序以及层次关系总结
http://blog.csdn.net/kingsea168/article/details/50252733 之前一直用NGUI开发界面,但看到现在的unity的新版本的UGUI也不错,这几天专门 ...
- unity3d easytouch教程
http://www.taikr.com/group/6/thread/1987 说一说easytouch的简单使用方法,和移动平台上的rpg游戏一样,我们肯定也不陌生,我们经常玩游戏的时候用的都是虚 ...
- iOS 更改状态栏、导航栏颜色的几种方法
ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分:背景部分:就是显示黑色或者图片的背景部分: (一)设置sta ...
- [题解]luogu_P2613有理数取余
#include<bits/stdc++.h> #define ll long long using namespace std; ; inline int read(){ ,fix=;c ...
- (洛谷 P1429 平面最近点对(加强版) || 洛谷 P1257 || Quoit Design HDU - 1007 ) && Raid POJ - 3714
这个讲的好: https://phoenixzhao.github.io/%E6%B1%82%E6%9C%80%E8%BF%91%E5%AF%B9%E7%9A%84%E4%B8%89%E7%A7%8D ...
- Hive_Hive和数据仓库简介
文章摘自 : http://www.imooc.com/video/7573 Hive是建立在Hadoop HDFS上的数据仓库基础架构.Hive可以用来进行数据的ETL.Hive定义了简单的类似SQ ...
- Dubbo端口占用错误信息
SEVERE: Exception sending context initialized event to listener instance of class com.common.SysCont ...
- css与JS知识整理
CSS知识 CSS选择器:基础中的核心,选择器指明了{}中“样式”作用的对象,也就是“样式”作用于网页中的哪些元素. CSS选择器类型:一共三大类. 基础选择器 属性选择器 组合选择器 ...
- dispaly:none 和visibility :hidden的区别
display:none 通常被 JavaScript 用来在不删除元素的情况下隐藏或显示元素. 它和 visibility 属性不一样.把 display 设置成 none 元素不会占据它本来应该显 ...
- 第十二章 设计用户界面 之 设计自适应的UI布局
1. 概述 随着手机和平板设备的日益普及,使得开发者不得不考虑MVC网站在移动设备上的展示. 本章内容包括:运行在多种设备上的程序(屏幕分辨率,CSS,HTML).设计手机端Web程序. 2. 主要内 ...