Java高级篇之Map集合

一、Map
是集合框架中的顶级接口,也继承了Iteratable可迭代接口。
Map表示映射,用key来表示值的一种数据结构。
八组, value就是所有的同学,身份证号,value就是人的基本信息。
二、Map接口的实现
实现类主要有两个,一个HashMap,一个TreeMaP,重点是第一个。
三、特点
用key来映射value,无序,key不能重复,value可以重复,key和value可以为空(null,表示未引用任何对象)。为空的key只能有一份。
四、Map的存储结构
在这里插入图片描述

   其实Set集合的低层实现就是Map集合,Set利用Map中的存放Key的集合来作为自已的集合对象。

五、HashMap的基本操作

Map<String, String> map = new HashMap<>();

//向集合中添加元素
map.put("k1", "v1");
map.put("k2", "v2");
map.put("k3", "v2");
map.put("k4", "v4");
map.put("k5", "v5");
map.put("k1","v6");
map.put(null,null);
//删除元素
map.remove("k1");
//修改元素,把指定key对应的value进行覆盖
map.put("k4", "v44");
//从集合中获取指定key的value,key具有唯一性,通过key去拿value很方便
String k4 = (String) map.get("k4");
System.out.println("元素的个数:"+map.size());
System.out.println("k4="+k4);

//集合的迭代,因为Map中的key和value分布在不同的集合中,想得到value必须要知道key
//迭代一,首先得到key的集合,从集合中取出key,通过key得到value
/*Set<String> keys = map.keySet();
for (String e:keys) {
    System.out.println("key="+e+" value="+map.get(e));
}*/
//迭代二,首先得到包含Entry对象的Set集合,从集合中取中每Entry对象,再从Entry对象中得到key和value
/*Set<Map.Entry<String, String>> entries = map.entrySet();
for (Map.Entry<String,String> entry:entries) {
    System.out.println("key="+entry.getKey()+" value="+entry.getValue());
}*/


六、集合在实现应用中的使用
前面所学的集合类型包括三种,ArrayList,HashSet,HashMap,如果集合中保存的元素是单一的对象,一般使用List和Set,如果要求元素有序而且可以重复就使用list,如果要求无序和不能重复就使用Set。如果需要能够通过key来操作value就要使用Map。在实际设计中使用频率最高的是List和Map。特别强调一下Map,现代的软件很多都使用它作为基础集合,比如redis,memcache这样的缓存软件等。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值