keySet是键的集合,Set里面的类型及key的类型
entrySet是 键-值 对的集合,Set里面的类型是Map.Entry.
1.keySet()
Map map=new HashMap();
Iterator it=map.keySet().iterator();
Object key;
Object value;
while(it.hasNext()){
key=it.next();
value=map.get(key);
System.out.println(key+":"+value);
}
2.entrySet()
Map map=new HashMap();
Iterator it=map.entrySet().iterator();
Object key;
Object value;
while(it.hasNext()){
Map.Entry entry=(Map.Entry)it.next();
key=entry.getKey();
value=entry.getValue();
System.out.println(key+"="+value);
}
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Map<String,String> map=new HashMap<String,String>(); map.put("1", "value1"); map.put("2", "value2"); map.put("3", "value3"); //第一种:普遍使用,二次取值 System.out.println("通过Map.keySet遍历key和value"); for(String key:map.keySet()) { String value=map.get(key); System.out.println(key+":"+value); } System.out.println("-------------------------"); //第二种: System.out.println("通过Map.entrySet使用iterator遍历key和value"); Iterator<Map.Entry<String,String>> it=map.entrySet().iterator(); while(it.hasNext()) { Map.Entry<String, String> entry=it.next(); String key=entry.getKey(); String value=entry.getValue(); System.out.println(key+":"+value); } //第三种:推荐,尤其是容量大时 System.out.println("通过Map.entrySet遍历key和value"); for(Map.Entry<String, String> entry:map.entrySet()) { String key=entry.getKey(); String value=entry.getValue(); System.out.println(key+":"+value); } //第四种 System.out.println("通过map.values()遍历所有的value,但不能遍历key"); for(String value:map.values()) { System.out.println("value="+value); } } }
参照来源:https://blog.csdn.net/bestone0213/article/details/47904107