集合框架-Map集合的遍歷

ZHOU_VIP發表於2017-04-30

package cn.itcast_01;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*
 * Map集合的遍歷。
 * Map -- 夫妻對
 * 思路:
 * 		A:把所有的丈夫給集中起來。
 * 		B:遍歷丈夫的集合,獲取得到每一個丈夫。
 * 		C:讓丈夫去找自己的妻子。
 * 
 * 轉換:
 * 		A:獲取所有的鍵
 * 		B:遍歷鍵的集合,獲取得到每一個鍵
 * 		C:根據鍵去找值
 */
public class MapDemo3 {
	public static void main(String[] args) {
		// 建立集合物件
		Map<String, String> map = new HashMap<String, String>();

		// 建立元素並新增到集合
		map.put("楊過", "小龍女");
		map.put("郭靖", "黃蓉");
		map.put("楊康", "穆念慈");
		map.put("陳玄風", "梅超風");

		// 遍歷
		// 獲取所有的鍵
		Set<String> set = map.keySet();
		// 遍歷鍵的集合,獲取得到每一個鍵
		for (String key : set) {
			// 根據鍵去找值
			String value = map.get(key);
			
			System.out.println(key + "---" + value);
		}
	}
}


package cn.itcast_01;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*
 * Map集合的遍歷。
 * Map -- 夫妻對
 * 
 * 思路:
 * 		A:獲取所有結婚證的集合
 * 		B:遍歷結婚證的集合,得到每一個結婚證
 * 		C:根據結婚證獲取丈夫和妻子
 * 
 * 轉換:
 * 		A:獲取所有鍵值對物件的集合
 * 		B:遍歷鍵值對物件的集合,得到每一個鍵值對物件
 * 		C:根據鍵值對物件獲取鍵和值
 * 
 * 這裡面最麻煩的就是鍵值對物件如何表示呢?
 * 看看我們開始的一個方法:
 * 		Set<Map.Entry<K,V>> entrySet():返回的是鍵值對物件的集合
 */
public class MapDemo4 {
	public static void main(String[] args) {
		// 建立集合物件
		Map<String, String> map = new HashMap<String, String>();

		// 建立元素並新增到集合
		map.put("楊過", "小龍女");
		map.put("郭靖", "黃蓉");
		map.put("楊康", "穆念慈");
		map.put("陳玄風", "梅超風");

		// 獲取所有鍵值對物件的集合
		Set<Map.Entry<String, String>> set = map.entrySet();
		// 遍歷鍵值對物件的集合,得到每一個鍵值對物件
		for (Map.Entry<String, String> me : set) {
			// 根據鍵值對物件獲取鍵和值
			String key = me.getKey();
			String value = me.getValue();
			System.out.println(key + "---" + value);
		}
	}
}

(4)Map集合的遍歷

A:鍵找值

    a:獲取所有鍵的集合

    b:遍歷鍵的集合,得到每一個鍵

    c:根據鍵到集合中去找值

B:鍵值對物件找鍵和值

    a:獲取所有的鍵值對物件的集合

    b:遍歷鍵值對物件的集合,獲取每一個鍵值對物件

    c:根據鍵值對物件去獲取鍵和值

程式碼體現:

    
    Map<String,String> hm = new HashMap<String,String>();

    hm.put("it002","hello");

    hm.put("it003","world");

    hm.put("it001","java");

    //方式1 鍵找值

    Set<String> set = hm.keySet();

    for(String key : set) {

        String value = hm.get(key);

        System.out.println(key+"---"+value);
    }

    //方式2 鍵值對物件找鍵和值

    Set<Map.Entry<String,String>> set2 = hm.entrySet();

    for(Map.Entry<String,String> me : set2) {

        String key = me.getKey();

        String value = me.getValue();

        System.out.println(key+"---"+value);

    }




相關文章