Map的常用方法

本文介绍了Java Map数据结构的常用操作,包括添加、删除、计数、判断和取值,以及三种遍历Map的不同方式:keySet、values和Map.Entry。重点讲解了如何通过Set和Entry获取键值对的完整信息。
摘要由CSDN通过智能技术生成

文章目录

Map

常用方法
Map map =  new HashMap();	//创建map
1、添加
map.put("1","小说")
putAll(Map<? extends K,? extends V> m) 	//从指定映射中将所有映射关系复制到此映射中(可选操作)。
2、删除
map.remove("1")	//删除指定key的键值对,返回被删除的key关联的value,不存在返回null
map.remove("1","小说")	//删除指定的键值对,成功返回true
map.clear()	//删除map中的所有键值对
3、计数
map.size()	//返回map中键值对的个数
4、判断
map.isEmpty()	//判断是否为空
map.containsKey("1")	//判断Map中是否包含指定的Key
map.containsValue("小说");	//判断Map中是否包含指定的Value
5、取值
map.get("1")	//返回指定Key对应的Value,不存在则返回null
Collection set = map.entrySet()	//返回Map中键值对所组成的Set集合,集合元素是Map.Entry(Map的内部类)对象
Collection set = map.keySet()  //返回Map中的key的Set集合
Collection set = mat.values()	//返回的是Map里所有的value组成的Collection
遍历Map的方式
第一种方式:使用keySet:
将Map转成Set集合(keySet()),通过Set的迭代器取出Set集合中的每一个元素(Iterator)就是Map集合中的所有的键,再通过get方法获取对应的值。
 Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "aaaa");
map.put(2, "bbbb");
map.put(3, "cccc");
System.out.println(map);
//
// 获取方法:
// 第一种方式: 使用keySet
 // 需要分别获取key和value,没有面向对象的思想
// Set<K> keySet() 返回所有的key对象的Set集合
Set<Integer> ks = map.keySet();
 Iterator<Integer> it = ks.iterator();
while (it.hasNext()) {
        Integer key = it.next();
        String value = map.get(key);
        System.out.println("key=" + key + " value=" + value);
 }

第二种方式: 通过values 获取所有值,不能获取到key对象:
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "aaaa");
map.put(2, "bbbb");
map.put(3, "cccc");
 第二种方式: 通过values 获取所有值,不能获取到key对象
Collection<V> values()
Collection<String> vs = map.values();
Iterator<String> it = vs.iterator();
 while (it.hasNext()) {
	String value = it.next();
	System.out.println(" value=" + value);
 }
第三种方式: Map.Entry
public static interface Map.Entry<K,V>   通过Map中的entrySet()方法获取存放Map.Entry<K,V>对象的Set集合。
Set<Map.Entry<K,V>> entrySet()    面向对象的思想将map集合中的键和值映射关系打包为一个对象,就是Map.Entry,将该对象存入Set集合,Map.Entry是一个对象,那么该对象具备的getKey,getValue获得键和值。

Map<Integer, String> map = new HashMap<Integer, String>();
 map.put(1, "aaaa");
 map.put(2, "bbbb");
 map.put(3, "cccc");
 // 第三种方式: Map.Entry对象 推荐使用 重点
 // Set<Map.Entry<K,V>> entrySet()
 // 返回的Map.Entry对象的Set集合 Map.Entry包含了key和value对象
Set<Map.Entry<Integer, String>> es = map.entrySet();
Iterator<Map.Entry<Integer, String>> it = es.iterator();
while (it.hasNext()) {
	 //返回的是封装了key和value对象的Map.Entry对象
	Map.Entry<Integer, String> en = it.next();
 	// 获取Map.Entry对象中封装的key和value对象
	Integer key = en.getKey();
	String value = en.getValue();
	System.out.println("key=" + key + " value=" + value);
 }

原文链接

原文链接

黑色背景

#小结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值