[java] Map循环遍历的5种方法实现
一、方法一(推荐)
推荐使用此方法效率比较高
Map<String,String> map = new HashMap<>();
map.put("第一个对象","1");
map.put("第二个对象","2");
//第一种方式
for(Map.Entry entry : map.entrySet()){
String mapKey = (String) entry.getKey();
String mapValue = (String)entry.getValue();
System.out.println(mapKey+":"+mapValue);
}
二、方法二(推荐)
推荐使用此方法效率比较高,效率与方法一差不多
Map<String,String> map = new HashMap<>();
map.put("第一个对象","1");
map.put("第二个对象","2");
//第一种方法
Iterator<Map.Entry<String, String>> entries = map.entrySet().iterator();
while(entries.hasNext()){
Map.Entry<String, String> entry = entries.next();
String mapKey = entry.getKey();
String mapValue = entry.getValue();
System.out.println(mapKey+":"+mapValue);
}
三、方法三
由于使用通过key获取value导致会消耗一点效率
Map<String,String> map = new HashMap<>();
map.put("第一个对象","1");
map.put("第二个对象","2");
//遍历map
for(String mapKey : map.keySet()){
String mapValue = map.get(mapKey);
System.out.println(mapKey+":"+mapValue);
}
四、方法四
由于使用通过key获取value导致会消耗一点效率
Map<String,String> map = new HashMap<>();
map.put("第一个对象","1");
map.put("第二个对象","2");
//遍历map
Iterator iterator = map.keySet().iterator();
while(iterator.hasNext()){
Object mapKey = iterator.next();
System.out.println("key:"+mapKey+",value:"+map.get(mapKey));
}
五、方法五
在for循环中遍历key或者values,适用于只需要map中的key或者value时使用
Map<String,String> map = new HashMap<>();
map.put("第一个对象","1");
map.put("第二个对象","2");
//遍历key
for(String mapKey : map.keySet()){
System.out.println(mapKey);
}
//遍历value
for(String mapValue : map.values()){
System.out.println(mapValue);
}
总结
建议使用方法一和方法二进行map遍历