java再复习——Map体系

常有Map与Collection什么关系?

没什么关系,都是集合的顶层接口,没有直接关系。


Map体系没有实现Iterator接口。

Map体系的特殊结果,K,V存在。 K键唯一。

Map体系的常用实现类:

HashMap: 底层实现哈希表,允许Key值和Value值为null,线程不同步的。

TreeMap : 底层是二叉树,不允许key为null(因为TreeMap要排序,null不能排序),线程不同步,放入的元素需要具有可排序性。

还有一个HashTable(已经不使用了):  和HashMap的原理与使用几乎是一样的,但是是线程同步的,所以效率不高,而且不允许key值和value值为null.


值得一提的是 : 

HashSet的底层实现是HashMap,将Set的值作为key存入HashMap,然后HashMap的Value值都存为同一个无关对象,就实现了HashSet,并且保证了数据唯一性,因为HashMap键值需要唯一。


TreeSet的底层实现是TreeMap,原理与方式与上相同。


hashMap和TreeMap虽然保证键唯一,但是如果有相同的键值进来,后来的值会覆盖上一次的值。

比如

map.put(1,"哈哈");

map.put(1,"呵呵");

那么取1结果是呵呵“。”



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值