您的位置:首页 > 编程语言 > Java开发

java中遍历Map的几种方式

2018-03-20 17:39 537 查看
首先了解下HashMap
        1、HashMap底层是用数组+链表的方式存储的。
        2、HashMap里面实现了一个静态内部类Entry。
        3、Entry的属性有key,value,next,hash。Entry存储的是key-value键值对。
        4、HashMap存储是无序的。

常用的遍历方式主要有以下几种:public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("1", "test1");
map.put("2", "test2");
map.put("3", "test3");

//第一种方式:使用使用较多 通过Map.keySet遍历key和value
for (String key : map.keySet()) {
System.out.println("获取Map中key的值 "+ key);
System.out.println("根据key获取value的值 " + map.get(key));
}

//第二种 "通过Map.entrySet使用iterator遍历key和value:"
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("获取Map中key的值 " + entry.getKey());
System.out.println("获取value的值 " + entry.getValue());

}

//第三种:使用比较多,推荐使用,尤其是容量大时
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("获取Map中key的值" + entry.getKey());
System.out.println("获取value的值" + entry.getValue());
}

//第四种:使用很少,不推荐 "通过Map.values()遍历所有的value,但不能遍历key"
for (String v : map.values()) {
System.out.println("value= " + v);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: