Map之遍历:
关于集合这块需要写的东西其实挺多的,集合有自己的顶级接口Collection,底下又有map和list两个接口,接下来我们谈一谈关于map集合方面的东西。
map是java中非常常用的一种数据结构,提供get和put两个常用的方法;map虽然继承了Collection,但却没有实现Collection的Iterator 方法,自身没有迭代器来遍历元素
接下来言归正传,对于map的遍历也是我们java开发者经常会用到的东西,接下来小编整理一下关于map集合常用的四种遍历方式:
keySet集合迭代,entrySet集合迭代,keySet 集合for-each 循环,entrySet集合for-each循环
接下来直接上代码:
public class TestMap {
public static void main(String[] args) {
Map<String, Integer> tempMap = new HashMap<String, Integer>();
tempMap.put("a",12);
tempMap.put("b",34);
tempMap.put("c",56);
}
}
遍历方法一:keySet集合迭代
Set<String> keySet = tempMap.keySet();
Iterator<String> it = keySet.iterator();
while (it.hasNext()) {
String key = it.next();
System.out.println("key=" + key + " value=" + tempMap.get(key));
}
遍历方法二:entrySet集合迭代
Set<Map.Entry<String, Integer>> entrySet = tempMap.entrySet();
Iterator<Map.Entry<String, Integer>> meIt = entrySet.iterator();
while (meIt.hasNext()) {
Entry<String, Integer> entry = meIt.next();
System.out.println("key=" +entry.getKey() + " value=" + entry.getValue());
}
遍历方法三:keySet集合For-each循环
for (String key : tempMap.keySet()) {
System.out.println("key=" +key + " value=" + tempMap.get(key));
}
遍历方法四:entrySet集合For-each循环
for (Map.Entry<String, Integer> entry : tempMap.entrySet()) {
String key = entry.getKey();
String value = entry.getValue().toString();
System.out.println("key=" + key + " value=" + value);
}
四种方式中,方法一 和 方法二是通过迭代器来显示完成的,方法三和 方法四 是通过for-each来隐式的通过迭代器来完成的;方法一 和 方法三是通过key的集合来完成的,方法二和 方法四是通过entry 的集合来完成的。
小编个人比较喜欢第四种方式去遍历Map,当容量大时,推荐使用,关于集合list以及map的集合整体大框架,下篇文章详细分析
欢迎转载分享~