![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合框架
菜鸟的自我素养
java开发
展开
-
HashMap的底层原理
今天面试被问到了HashMap底层实现原理,总结一下: 1.HashMap的底层是由数组+链表+红黑树(红黑树是jdk1.8新加入的,目的是为了优化entry的查找效率)实现的。 HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做一个Entry。这些Entry分散存储在一个数组当中,这个数组就是HashMap的主干。 为什么需要链表结构存在呢? 由于table数组的长度...原创 2019-07-03 17:49:10 · 229 阅读 · 0 评论 -
JAVA集合框架不同的特点
1.JAVA中的集合框架类型 在JAVA开发中,集合框架是我们最常用的存储多数据的方式,JAVA中常用的集合框架包括哪些呢? 主要包括List,Set,Map三种常用的集合,其中List和Set都继承了Conllection接口,Conlletions接口是用于操作集合的工具类 2.三种常用集合的区别有哪些呢? List集合:List集合是有序集合,是允许重复值存在的集合,常见的方法有size()...原创 2019-07-03 18:10:26 · 313 阅读 · 0 评论 -
List集合的实现类ArrayList和LikedList的区别及其原因
ArrayList:底层数据结构使数组结构,查询速度快,增删改慢 原因: (1) ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。 (2)由于ArrayList是数组,在查询时只需要通过索引查找对应元素,因此查询速度较快,而在进行增加或者删除时,在增加或...原创 2019-07-03 18:26:22 · 669 阅读 · 0 评论 -
Map的实现类HashMap和HashTable的区别
Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。 区别一:是否可为空 Hashtable既不支持Null key也不支持Null value。 HashMap中,null可以作为键,有且只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,可能是 HashMap中没有该键,也可能使该键所对应的值...原创 2019-07-03 18:38:22 · 347 阅读 · 0 评论