学习笔记-基础知识8-集合框架(1)下

2 篇文章 0 订阅
2 篇文章 0 订阅

10.Map接口
Map集合:Map<k,v>:k-key v-value
k-key :此映射所维护的键的类型
v-value:映射值的类型.
Map集合:该集合存储键值对,一对一对往里存,而且要保证键的唯一性。
Map里的key不允许重复。通过key总能找到唯一的value与之对应。
collection:单列集合  
Map:双列集合
Map里的key集存储方式和对应的Set集合中的元素存储方式一致;
Map.Entry是Map接口的内部接口,专门用来保存key-value内容:
Map常用方法:
添加:
Object put(Key k,Value v):添加一个key-value对,若已有与key相等的key-value对,则新的覆盖原来的;
putAll(Map<? extends K,? extends V>m):
void putAll(Map m):将m中的key-value赋值到调用该方法的Map对象中;
删除:
void clear():删除该Map对象中所有的key-value对。即清理该集合;
remove(Key k):删除指定key所对应的key-value对,并返回删除key所关联的value,若key不存在,返回null;
判断:
boolean containsKey(Key k):是否包含指定的key;
boolean containsValue(Value v):是否包含至少一个value;
boolean isEmpty():判断Map集合是否为空;
获取:
get(Object key):返回指定key所对应的value,若不包含该key,返回null;
int size():返回该Map里面key-value对的个数;
Collection values():返回Map里所有value组成的集合。
Set entrySet():返回Map所包含的key-value对所组成的Set集合,
每个集合元素都是Map.Entry对象(Entry是Map内部类);
Set keySet():返回该Map中所有key所组成的Set集合;

Map.Entry
Map.Entry<k,v>映射项<键值对>
其实Entry也是一个接口,它是Map接口中的一个内部接口。
该接口用于封装key-value,有3个方法:
Object getKey();返回Entry里包含的key值
Object getValue();返回Entry里包含的value值
Object setValue(Object value):设置Entry里包含的value值,并返回新设置的value值;

Map集合的输出:
Map集合的取出原理:将map集合转换成set集合,通过迭代器取出。
方法一:entrySet:返回此映射中包含的映射
1.通过entrySet方法将map集合中的映射关系取出存入到set集合中,变成Set对象
2.获取关系对象Map.Entry:调用Set的Iterator方法,此时每个Iterator对象是Map.Entry对象
3.通过Map.Entry中的getKey和getValue方法获取关系中的键和值:key - value
方法二:keySet
1.通过keySet将map中所有的键存入到set集合,得到Map集合所有key的Set集合。因为Set具备迭代器。
2.通过set迭代方式取出所有的键:调用Set的Iterator()方法,此时每个Iterator对象是key值
3.通过Map的getValue(key)获取每一个键对应的value值


11.Map接口的子接口
Map:
-Hashtable:底层是哈希表数据结构。不可存入null键null值。该集合是线程同步的。jdk1.0 效率低
-HashMap: 底层是哈希表数据结构。允许使用null键null值。该集合是线程不同步的。jdk1.2效率高
-TreeMap:底层是二叉树数据结构。线程不同步,可以用于给map集合中的键进行排序。
!!发现Map和Set很像:其实Set底层就是使用了Map集合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值