java集合
文章平均质量分 68
清风明月_vip
精通java主流技术,从事java开发多年,爱好者可提供各种资料,促进行业交流
展开
-
集合类List概念讲解源码分析
1:List介绍与底层以及扩容机制: 首先List 是集合类中的一个接口,继承了Collection接口,List 的实现类有ArrayList、LinkedList、Vector等。List集合中的元素是有序可重复的并且有下标的。ArrayList集合和Vector集合的底层使用Object类型是数组实现的。由于数组的长度是固定的所以当集合中的元素被装满时就需要扩容。ArrayList调用无参实例化后是空数组没有长度的,当调用增加方法时,会开辟10个长度,当ArrayList中的元素被装满时会以1.5倍原创 2021-06-28 15:59:37 · 108 阅读 · 0 评论 -
HashMap源码底层
1:介绍: Map是所有双列集合的接口,所有以键值对方式存储的类或接口都实现或继承了Map接口。Map的实现类有HashMap,Hashtable,TreeMap等,ConcurrentMap接口也继承了Map接口,Map的存储方式是以 key 和 value的方式,也就是键值对。Map中的key是不能重复的value是可以重复的。Map的底层是使用数组加链表的方式实现的。数组中的每一项就是一个单项的链表。存储键值对时通过key的hash值获得在数组中的位置。在通过key的equals获得在该数组位置上的原创 2021-06-28 16:53:28 · 126 阅读 · 0 评论 -
Set集合底层源码
首先Set是集合类中的一个接口,继承了Collection接口。Set 的实现类有HashSet 和TreeSet等等。Set集合中的元素是无序的不可以重复Set集合没有下标不可以通过下标操作。Set集合的底层存储方式使用的是Map集合的key来存储的,为Map映射中的key是不允许重复的所以set集合中的元素也是不能重复的。Set集合的无下标的特性,让我们只能选择迭代器或者是forEach方式遍历。不能通过下标对Set集合进行操作。根据Set集合中元素不重复的特性,在一些需要去除重复项的操作中可以使用Se原创 2021-06-28 16:57:43 · 333 阅读 · 1 评论