如何遍历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只遍历了第一次,他把键和值都放在了条目里,所以差不多了。