摘要: 增加红黑树这个存储结构 在Java8中,为什么要增加红黑树这种数据结构来进行存储,而不是全部使用链表来进行存储呢? 1.因为攻击者可以构造大量具有相同hashCode的内容,使其全部放在同一个列表中,这样,在查找的时候,所花费的时间会很长。这个时候,如果采用红黑树这个结构来进行存储,那么其查找的效率 阅读全文
posted @ 2019-04-19 00:21 微萌小脑斧 阅读(626) 评论(0) 推荐(0) 编辑
摘要: 如果你去面试,面试官不问你这个问题,你来找我^_^ 下面直接来干货,先说这三个Map的区别: HashTable 底层数组+链表实现,无论key还是value都不能为null,线程安全,实现线程安全的方式是在修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化 阅读全文
posted @ 2019-04-19 00:20 微萌小脑斧 阅读(176) 评论(0) 推荐(0) 编辑
摘要: Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。 Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一条记录的键为Null;允 阅读全文
posted @ 2019-04-19 00:19 微萌小脑斧 阅读(2174) 评论(0) 推荐(0) 编辑