1. 程式人生 > >Map的兩種遍歷方式

Map的兩種遍歷方式

                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);
        }