Map的兩種遍歷方式
阿新 • • 發佈:2019-02-07
Students st=new Students("王亮",18); Map<Object, Object> ma=new HashMap(); ma.put(null, "1223"); ma.put("age", 20); ma.put("name", st); ma.put("st", st); //方式一: // Set<Object> ks= ma.keySet(); // Iterator<Object> it = ks.iterator(); // while(it.hasNext()){ // Object u=it.next(); // System.out.println(u+":"+ma.get(u)); // } //方式二: for (Map.Entry<Object, Object > m : ma.entrySet()){ { Object key = m.getKey(); Object value = m.getValue(); System.out.println(key+":"+value); }
主要是對方式二的解讀:
//方式二:
for (Map.Entry<Object, Object > m : ma.entrySet()){//通過Entry<k,v>方法,獲得對映表對映項(鍵-值對)。Map.entrySet 方法返回對映的 collection 檢視,其中的元素屬於此類。也即是這行程式碼的結構是for(變數型別 變數X:遍歷物件)。
{
Object key = m.getKey();
Object value = m.getValue();
System.out.println(key+":"+value);
}