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