您的位置:首页 > 其它

HashMap遍历的几种方式

2014-04-20 22:51 309 查看


HashMap遍历的两种方式

第一种:

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);

}

效率低,

第三种:

Map map = new HashMap();

Set<Map.Entry> set = map.entrySet();

for (Map.Entry me : set) {

System.out.println(me.getKey());

System.out.println(me.getValue());

}

第四种

Map map = new HashMap();

for (Object obj : map.keySet()) {

Object key = obj;

Object value = map.get(key);

System.out.println(key + " " + value);

}

1 遍历key+value

keySet遍历key+value(写法1):

Iterator<String> iter = map.keySet().iterator();
while (iter.hasNext()) {
key = iter.next();
value = map.get(key);
}

keySet遍历key+value(写法2):

for (String key : map.keySet()) {
value = map.get(key);
}

entrySet遍历key+value(写法1):

Iterator<Entry<String, String>> iter = map.entrySet().iterator();
Entry<String, String> entry;
while (iter.hasNext()) {
entry = iter.next();
key = entry.getKey();
value = entry.getValue();
}

entrySet遍历key+value(写法2):

for (Entry<String, String> entry: map.entrySet()) {
key = entry.getKey();
value = entry.getValue();
}

2 遍历key

keySet遍历key(写法1):

Iterator<String> iter = map.keySet().iterator();
while (iter.hasNext()) {
key = iter.next();
}

keySet遍历key(写法2):

for (String key : map.keySet()) {
}

entrySet遍历key(写法1):

Iterator<Entry<String, String>> iter = map.entrySet().iterator();
while (iter.hasNext()) {
key = iter.next().getKey();
}
entrySet遍历key(写法2):

for (Entry<String, String> entry: map.entrySet()) {
key = entry.getKey();
}

3 遍历value

keySet遍历value(写法1):

Iterator<String> iter = map.keySet().iterator();
while (iter.hasNext()) {
value = map.get(iter.next());
}

keySet遍历value(写法2):

for (String key : map.keySet()) {
value = map.get(key);
}

entrySet遍历value(写法1):

Iterator<Entry<String, String>> iter = map.entrySet().iterator();
while (iter.hasNext()) {
value = iter.next().getValue();
}

entrySet遍历value(写法2):

for (Entry<String, String> entry: map.entrySet()) {
value = entry.getValue();
}

values遍历value(写法1):

Iterator<String> iter = map.values().iterator();
while (iter.hasNext()) {
value = iter.next();
}

values遍历value(写法2):

for (String value : map.values()) {
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: