Java中Map的 entrySet() 詳解以及用法(四種遍歷map的方式)
阿新 • • 發佈:2018-12-21
Entry
由於Map中存放的元素均為鍵值對,故每一個鍵值對必然存在一個對映關係。
Map中採用Entry內部類來表示一個對映項,對映項包含Key和Value (我們總說鍵值對鍵值對, 每一個鍵值對也就是一個Entry)
Map.Entry裡面包含getKey()和getValue()方法
Iterator<Map.Entry<Integer, Integer>> it=map.entrySet().iterator(); while(it.hasNext()) { Map.Entry<Integer,Integer> entry=it.next(); int key=entry.getKey(); int value=entry.getValue(); System.out.println(key+" "+value); }
entrySet
entrySet是 java中 鍵-值 對的集合,Set裡面的型別是Map.Entry,一般可以通過map.entrySet()得到。
- entrySet實現了Set介面,裡面存放的是鍵值對。一個K對應一個V。
用來遍歷map的一種方法。
Set<Map.Entry<String, String>> entryseSet=map.entrySet(); for (Map.Entry<String, String> entry:entryseSet) { System.out.println(entry.getKey()+","+entry.getValue()); }
即通過getKey()得到K,getValue得到V。
keySet
還有一種是keySet, keySet是鍵的集合,Set裡面的型別即key的型別
Set<String> set = map.keySet();
for (String s:set) {
System.out.println(s+","+map.get(s));
}
四種遍歷Map方式:
public static void main(String[] args) { 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()) { System.out.println("key= "+ key + " and value= " + map.get(key)); } //第二種 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(); System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第三種:推薦,尤其是容量大時 System.out.println("通過Map.entrySet遍歷key和value"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); } //第四種 System.out.println("通過Map.values()遍歷所有的value,但不能遍歷key"); for (String v : map.values()) { System.out.println("value= " + v); } }