Java MAP三種遍歷方法

package sean;
import java.util.*;

public class MapTraverse {
	public static void main(String[] args) {
		String[] str = {"I love you", "You love he", "He love her", "She love me"};
		Map<Integer, String> m = new HashMap<Integer, String>();
		for(int i=0; i<str.length; i++) {
			m.put(i, str[i]);
		}
		System.out.println("結果1---:");
		PrintMethod1(m);
		System.out.println("結果2---:");
		PrintMethod2(m);
		System.out.println("結果3---:");
		PrintMethod3(m);
	}
	
	public static void PrintMethod1(Map<Integer, String> m) {
		for (Integer Key : m.keySet())
		{
			System.out.println(Key + ":\t" + m.get(Key));
		}
		// 原理參考
		/*Set s = (Set<Integer>)m.keySet();
		Iterator<Integer> it = s.iterator();
		int Key;
		String value;
		while(it.hasNext()) {
			Key = it.next();
			value = (String)m.get(Key);
			System.out.println(Key+":\t"+value);
		}*/
	}
	
	public static void PrintMethod2(Map<Integer, String> m) {
		for (Map.Entry<Integer, String> entry : m.entrySet())
		{
			System.out.println(entry.getKey() + ":\t" + entry.getValue());
		}
		// 原理參考
		/*Iterator<Map.Entry<Integer, String>> it = m.entrySet().iterator();
		Map.Entry<Integer, String> entry;
		int Key;
		String value;
		while(it.hasNext()) {
			entry = it.next();
			Key = entry.getKey();
			value = entry.getValue();
			System.out.println(Key+":\t"+value);
		}*/
	}
	
	public static void PrintMethod3(Map<Integer, String> m) {
		for (String value : m.values())
		{
			System.out.println(value);
		}
		// 原理參考
		/*int Key;
		String value;
		for(Map.Entry<Integer, String> entry : m.entrySet()) {
			Key = entry.getKey();
			value = entry.getValue();
			System.out.println(Key+":\t"+value);
		}*/
	}
	
}

運行結果:


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