JAVA遍历Map所有元素

转载 2011年01月13日 16:27:00

 //JDK1.5   
Map map = new HashMap();     
for(Object obj : map.keySet()) {     
     Object key = obj;     
     Object value = map.get(obj);     
}   
  
//JDK1.4   
Map map =  new HashMap()    ;     
Iterator iter = map.entrySet().iterator();     
while(iter.hasNext()) {     
     Map.Entry entry = (Map.Entry)iter.next();     
     Object key = entry.getKey();     
     Object value = entry.getValue();     
}

第一种:
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);
}
效率低,以后尽量少使用!

例:
HashMap
的遍历有两种常用的方法,那就是使用keysetentryset来进行遍历,但两者的遍历速度是有差别的,下面请看实例:

public class HashMapTest {
public static void main(String[] args) ...{
HashMap hashmap = new HashMap();
for (int i = 0; i < 1000; i ) ...{
   hashmap.put("" i, "thanks");
}

long bs = Calendar.getInstance().getTimeInMillis();
Iterator iterator = hashmap.keySet().iterator();  
while (iterator.hasNext()) ...{   
   System.out.print(hashmap.get(iterator.next()));
}
System.out.println();
System.out.println(Calendar.getInstance().getTimeInMillis() - bs);
listHashMap();
}

public static void listHashMap() ...{
java.util.HashMap hashmap = new java.util.HashMap();
for (int i = 0; i < 1000; i ) ...{
   hashmap.put("" i, "thanks");
}
long bs = Calendar.getInstance().getTimeInMillis();  
java.util.Iterator it = hashmap.entrySet().iterator();
while (it.hasNext()) ...{
   java.util.Map.Entry entry = (java.util.Map.Entry) it.next();
   // entry.getKey()
返回与此项对应的键
   // entry.getValue()
返回与此项对应的值
   System.out.print(entry.getValue());
}
System.out.println();
System.out.println(Calendar.getInstance().getTimeInMillis() - bs);
}
}

对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。而entryset只是遍历了第一次,他把keyvalue都放到了entry中,所以就快了。

:Hashtable的遍历方法和以上的差不多!

scala map/list/array/的常用内置遍历操作总结

scala map/list/array/的常用内置遍历操作总结。Scala 是面向函数的,所以在集合函数里,它很轻易地提供了非常丰富遍历操作,数组变换操作。这对于我们数据挖掘,爬虫,文本处理等都非常...
  • u010666884
  • u010666884
  • 2016年07月22日 17:50
  • 6513

Java Map在遍历过程中删除元素

Java中的Map如果在遍历过程中要删除元素,除非通过迭代器自己的remove()方法,否则就会导致抛出ConcurrentModificationException异常。这么做的原因是为了保证迭代器...
  • u014495327
  • u014495327
  • 2015年01月22日 19:19
  • 6184

如果遍历map中最后一个元素rbegin(),end(),rend()

#include "stdafx.h" #include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) ...
  • jangdong
  • jangdong
  • 2014年06月07日 14:56
  • 7583

Java Map在遍历过程中删除元素

Java中的Map如果在遍历过程中要删除元素,除非通过迭代器自己的remove()方法,否则就会导致抛出ConcurrentModificationException异常。...
  • uisoul
  • uisoul
  • 2017年11月27日 15:54
  • 88

【Java】集合(List、Set、Map)遍历、删除、比较元素时的小陷阱

阅读目录 一、漏网之鱼-for循环递增下标方式遍历集合,并删除元素二、ConcurrentModificationException异常-Iterator遍历集合过程中用其他手段(或其他线程)操作元...
  • azhegps
  • azhegps
  • 2016年10月23日 16:46
  • 1864

map的遍历及删除元素

map中有两种遍历方式,entrySet及keySet,使用时视具体情形定。 entrySet:同时取到key和value; keySet:先取key值,再根据key得到value. 如果需要删...
  • xiaofeng0817166
  • xiaofeng0817166
  • 2016年01月14日 13:59
  • 183

码农小汪-Map遍历的时候删除元素

今天这里有个需求,需要在遍历Map的时候删除我们的Map中的元素我自己也是写了一个Demopackage test;import java.util.HashMap; import java.util...
  • u012881904
  • u012881904
  • 2016年04月24日 21:09
  • 226

编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。

编写一个类,在main方法中定义一个package com.itheima; import java.util.Set; import java.util.TreeMap; /** *第3题:编...
  • yz972641975
  • yz972641975
  • 2015年08月21日 17:03
  • 2322

如果遍历map中最后一个元素rbegin(),end(),rend()

#include "stdafx.h" #include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) ...
  • jangdong
  • jangdong
  • 2014年06月07日 14:56
  • 7583

有一个Map集合里面存储的是学生的姓名和年龄,内容如下{赵四=21,王二=17,张三=18,小丫=25,李四=26,王五=38}(15分) * a.将里面的元素用两种遍历方式打印到控制台上 *

package com.heima.test;import java.io.FileNotFoundException; import java.io.FileOutputStream; import...
  • yixiaomeigui
  • yixiaomeigui
  • 2016年04月12日 23:05
  • 1294
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA遍历Map所有元素
举报原因:
原因补充:

(最多只允许输入30个字)