您的位置:首页 > 其它

遍历Map的几种方法总结

2018-01-16 11:32 477 查看

一、创建Map集合

Map<String, Integer> map = new HashMap<String, Integer>();
map.put("aaa", 13);
map.put("bbb", 14);
map.put("ccc", 15);
map.put("ddd", 16);
map.put("aaa", 17);


二、遍历Map集合

【1】直接打印:

System.out.println(map);
/*
输出:{aaa=17, ddd=16, ccc=15, bbb=14}
*/

System.out.println(map.entrySet());
/*
输出:[aaa=17, ddd=16, ccc=15, bbb=14]
*/

System.out.println(map.keySet()); // 遍历key
/*
输出:[aaa, ddd, ccc, bbb]
*/

System.out.println(map.values());
/*
输出:[17, 16, 15, 14]
*/


【2】利用values()方法仅遍历值(含具体类型):

for (Integer val : map.values()) {
System.out.println(val + " ");
}
/*
输出:17 16 15 14
*/


【3】利用keySet()方法:

for ( String key : map.keySet()) {
System.out.println(key + " : " + map.get(key));
}
/*
输出:
aaa : 17
ddd : 16
ccc : 15
bbb : 14
*/


【4】利用Iterator(迭代器)的for方法:

for (Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator(); it.hasNext();) {
Map.Entry<String, Integer> map2 = it.next();
System.out.println(map2.getKey() + " : " + map2.getValue());
}
/*
输出:
aaa : 17
ddd : 16
ccc : 15
bbb : 14
*/


【5】利用Iterator(迭代器)的while方法:

Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, Integer> map2 = it.next();
System.out.println(map2.getKey() + " : " + map2.getValue());
}
/*
输出:
aaa : 17
ddd : 16
ccc : 15
bbb : 14
*/


【6】利用entrySet()方法:

for (Map.Entry<String, Integer> map2 : map.entrySet()) {
System.out.println(map2.getKey() + " : " +map2.getValue());
}
/*
输出:
aaa : 17
ddd : 16
ccc : 15
bbb : 14
*/


【注】:本文章仅作为个人学习总结使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: