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

运行:
在这里插入图片描述

发布了41 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43616178/article/details/100171677
今日推荐