如何遍历java地图

第一种:

map map = new HashMap();

迭代器iter = map.entrySet()。迭代器();

while (iter.hasNext()) {

地图。Entry entry = (Map。entry)ITER . next();

object key = entry . getkey();

object val = entry . getvalue();

}

效率高,以后一定要用这个方法!

第二种类型:

map map = new HashMap();

迭代器iter = map.keySet()。迭代器();

while (iter.hasNext()) {

object key = ITER . next();

object val = map . get(key);

}

效率低,以后尽量少用!

遍历HashMap常用的方法有两种,即使用keyset和entryset进行遍历,但两者的遍历速度不同。请看下面的例子:

公共类HashMapTest {

公共静态void main(String[] args)...{

HashMap HashMap = new HashMap();

for(int I = 0;我& lt1000;我)...{

hashmap.put("我,"谢谢");

}

long bs = Calendar.getInstance()。getTimeInMillis();

迭代器iterator = hashmap.keySet()。迭代器();

while (iterator.hasNext())...{

system . out . print(hashmap . get(iterator . next()));

}

system . out . println();

system . out . println(calendar . getinstance()。getTimeInMillis()-bs);

list hashmap();

}

public static void listHashMap()...{

Java . util . hashmap hashmap = new Java . util . hashmap();

for(int I = 0;我& lt1000;我)...{

hashmap.put("我,"谢谢");

}

long bs = Calendar.getInstance()。getTimeInMillis();

Java . util . iterator it = hashmap . entry set()。迭代器();

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,实际上遍历了两次,一次是到迭代器,一次是从hashmap中取出key的值。Entryset只遍历了第一次,他把键和值都放在了条目里,所以差不多了。