Map双列集合常用实现类

本文深入解析了Map集合在Java中的应用,包括HashMap与LinkedHashMap的区别,如何存储键值对,以及如何进行查找、删除等操作。文章还展示了通过键获取值、检查键的存在性、获取所有键和键值对的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Map双列集合

Collection 集合:向集合中存储元素采用一个个元素的方式存储。
Map 集合:集合中每一个元素由键与值两部分组成,通过键可以找对对应的值。

注意: Map 中的集合不能包含重复的键,值可以重复;每个键只能对应一个值

HashMap:
用哈希表结构存储数据,无序存储。如果要保证键的唯一、不重复,需要重写键的hashCode()方法、equals()方法。

LinkedHashMap:
LinkedHashMap是HashMap的子类,用哈希表结构+链表结构存储数据。有序存储;通过哈希表结构可以保证的键的唯一、不重复,需要重写键的 hashCode()方法、equals()方法。

HashMap

	Map<String, Integer> map = new HashMap<>();
	
	//把指定的键值对添加到Map集合中
	map.put("张三", 20);
	map.put("李四", 25);
	map.put("王五", 30);
	System.out.println(map);// {李四=25, 张三=20, 王五=30}
	
	//把指定的键所对应的键值对元素在Map集合中删除,返回被删除元素的值
	Integer i1 = map.remove("王五");
	System.out.println("i1:" + i1);// i1:30
	
	//根据指定的键,在Map集合中获取对应的值
	Integer i2 = map.get("张三");
	System.out.println("i2:" + i2);// i2:20
	
	//Map集合是否含有指定的键
	boolean b1 = map.containsKey("张三");// b1:true
	System.out.println("b1:" + b1);
	
	// 获取Map集合中所有的键,存储到Set集合中
	Set<String> set = map.keySet();
	for (String key : set) {
		Integer value = map.get(key);
		System.out.println(key + "=" + value);
	}
	//李四=25
	//张三=20
	
	//获取到Map集合中所有的键值对对象的集合(Set集合)
	Set<Entry<String, Integer>> entrySet = map.entrySet();
	for (Map.Entry<String, Integer> entry : entrySet) {
		String key = entry.getKey();
		Integer value = entry.getValue();
		System.out.println(key + "=" + value);
	}
	//李四=25
	//张三=20

LinkedHashMap

	//允许存储重复的键后面的值会覆盖前面的值,无序存储
	HashMap<String,String> map = new HashMap<>();
	map.put("a", "a");
	map.put("c", "c");
	map.put("b", "b");
	map.put("a", "d");
	System.out.println(map);//{a=d, b=b, c=c}
	
	//不允许存储重复的键编译不报错运行期报错,有序存储
	LinkedHashMap<String,String> linked = new LinkedHashMap<>();
	linked.put("a", "a");
	linked.put("c", "c");
	linked.put("b", "b");
	linked.put("d", "d");
	System.out.println(linked);//{a=a, c=c, b=b, d=d}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值