遍歷map集合的兩種方式

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

public class MapDemo {
	public static void main(String[] args) {
		Map<Integer, String> map = new HashMap<Integer, String>();
		map.put(1, "小明");
		map.put(2, "子怡");
		map.put(3, "劉備");
		map.put(5, "元彪");
		
//		key2Value(map);
		
		kvIterator(map);
		
	}
	/**遍歷方式二:
	 * 通過KV的方式遍歷map集合,先得到KV鍵值對
	 * 再遍歷鍵值對,成對出現,最後通過對應的getKey()和getValue();獲取對應的
	 * 鍵K和值V
	 * @param map 要遍歷的集合
	 */
	private static void kvIterator(Map<Integer, String> map) {
		// 鍵值對 K V
		Set<Entry<Integer, String>> entrySet = map.entrySet();
		System.out.println(entrySet);// [1=小明, 2=子怡, 3=劉備, 5=元彪]
		Iterator<Entry<Integer, String>> ite = entrySet.iterator();
		while (ite.hasNext()) {
			// K V
			Entry<Integer, String> kv = ite.next();
			Integer key = kv.getKey();
			String value = kv.getValue();
			System.out.println(key + " " + value);
		}
	}
	/**遍歷方式一
	 * 根據鍵取值
	 * 先獲得所有的鍵集合,再通過遍歷鍵集合,得到每個鍵K
	 * 最後根據鍵K去查找對應的值V
	 * @param map
	 */
	private static void key2Value(Map<Integer, String> map) {
		//鍵取值的遍歷方式
		Set<Integer> keySet = map.keySet();//獲取所有的鍵
		System.out.println(keySet);
		Iterator<Integer> key = keySet.iterator();
		while (key.hasNext()) {//遍歷每個鍵
			//根據鍵來獲取值。
			String value = map.get(key.next());
			System.out.print(value);
		}
	}
}

 高級for遍歷兩種:

      //鍵找值
		Set<Student> keySet = map.keySet();//key
		for (Student key : keySet) {//獲取每個key
			//根據鍵找到值
			String value = map.get(key);
			System.out.println(key.toString()+" "+value);
		}
		//鍵值對遍歷
		Set<Entry<Student, String>> entrySet = map.entrySet();
		for (Entry<Student, String> entry : entrySet) {
			System.out.println(entry.getKey()+" "+entry.getValue());
		}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章