Map集合


Collection就是单身汉(单列集合),Map就是结了婚的夫妻(双列集合),证书就是k、v值的关系

Map集合特点:

该集合存储键值对,一对一对往里存,而且要保证健的唯一性

1添加

put(K key,V value) //在添加元素的时候,相同的键,那么后添加的值会覆盖原有的键对应得值,并

                                  put方法会返回被覆盖的值

putAll(Map<? extendsK,? extends V> m)

2删除

       clear();

remove(Object key)

3判断

containsKey(Object key)

containsValue(Object value)

isEmpty()

4获取

get(Object key)

size()

values()

entrySet()

keySet()

 

Map集合有三个小弟(哈希表是无序存储)

      |--Hashtable:底层是哈希表数据结构,不可以存入null健null值,线程同步。JDK1.0,效率低

      |--HashMap:哈希表数据结构,可以存入null健null值,线程不同步(面试有可能问上边俩区别)

                            JDK1.2.效率高

      |--TreeMap :底层是二叉数据结构,线程不同步,可以用于给map集合中的键进行排序

 

和set很像,其实set底层就是使用了Map集合,Map能存一对,去掉一个就行了

Map集合中的两种取出方式:(get(Object key)方法)只能通过一个k值获取v值,想要获取全部的v值怎么办?

1 Set<> keySet:将map中所有的键存入到set集合中,因为set具备迭代器,所以可以通过迭代方式取出所有的键,然后通过get()获取每一个键对应的值。

Map集合取出的原理,将map集合转成set集合,在通过迭代器取出。

 

2第二种取出方式,Set<Map.Entry<k,v>> entrySet : 将map集合中的映射关系存入到了set集合中,而这个关系的数据类型就是Map.Entry

 

 

 

 

 

 

 

 

 

 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值