Java Map的使用筆記

Java中map是存儲鍵和值的映射關係

添加鍵值測試

方法原型:V put(K key, V value)

public class MapDemo {
	public static void main(String args[]) {
		Map<String,String> map1 = new HashMap<>();
		map1.put("學生1", "23歲");
		map1.put("學生2", "20歲");
		map1.put("學生3", "28歲");
		System.out.println(map1);
	}
}

運行:
在這裏插入圖片描述
輸出的順序不是我們存的順序,因爲用的HashMap創建的map對象,底層用哈希算法實現。將HashMap改爲LinkedHashMap即可按存的順序輸出。這個暫時不關注,我們來看put方法的返回值,它可不是返回傳入的value,而是返回剛傳入鍵值所覆蓋掉的value。
我們試試接收下put方法的返回值

public class MapDemo {
	public static void main(String args[]) {
		Map<String,String> map1 = new HashMap<>();
		String str = map1.put("學生1", "23歲");
		String str2 =map1.put("學生2", "20歲");
		String str3 =map1.put("學生3", "28歲");
		System.out.println(str);
		System.out.println(str2);
		System.out.println(str3);
	}
}

運行:
在這裏插入圖片描述
返回null,因爲被覆蓋的是null,如果map1中已有”學生1”鍵和值,再用put放入”學生1”鍵和新值呢?

public class MapDemo {
	public static void main(String args[]) {
		Map<String,String> map1 = new HashMap<>();
		map1.put("學生1", "100歲");
		String str = map1.put("學生1", "23歲");
		String str2 =map1.put("學生2", "20歲");
		String str3 =map1.put("學生3", "28歲");
		System.out.println(str);
		System.out.println(str2);
		System.out.println(str3);
	}
}

在這裏插入圖片描述
可見的確覆蓋的值被返回了。

根據鍵移除元素測試

方法原型:V remove(Object key)

public class MapDemo {
	public static void main(String args[]) {
		Map<String,String> map1 = new HashMap<>();
		map1.put("學生1", "23歲");
		map1.put("學生2", "20歲");
		map1.put("學生3", "28歲");
		String str = map1.remove("學生3");
		System.out.println(map1+" "+ str);
	}
}

運行:
在這裏插入圖片描述
返回了被移除元素裏的值。

得到所有映射,遍歷Map。

方法原型:Set<Map.Entry<K,V>> entrySet()

Map.Entry是Map接口的內部接口。entrySet()方法是將映射關係裏的鍵與值看作一個整體,即Entry對象,然後將所有Entry對象存入Set裏

public class MapDemo {
	public static void main(String args[]) {
		Map<String,String> map1 = new HashMap<>();
		map1.put("學生1", "23歲");
		map1.put("學生2", "20歲");
		map1.put("學生3", "28歲");
		
		Set<Map.Entry<String,String>> mapEntry = map1.entrySet();
		for(Map.Entry<String,String> temp: mapEntry) {
			System.out.println(temp.getKey()+"-"+temp.getValue());
		}
	}
}

運行:
在這裏插入圖片描述

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