Java list map set底层实现原理

本文详细探讨了Java集合框架中的List、Map和Set的实现原理。ArrayList作为List的一种,其底层基于动态数组,当元素超出容量时会自动扩容。HashMap作为Map的实现,采用数组+链表的结构,通过哈希算法快速定位元素。HashSet和TreeSet分别作为Set的实现,前者依赖HashMap实现无序不重复特性,后者基于TreeMap提供排序功能。
摘要由CSDN通过智能技术生成

目录

list实现原理

map实现原理

set实现原理


list实现原理

        List集合是java中比较常用的一个,下面有ArrayList,LinkedList,Vector 主要看一下ArrayList

        ArrayList底层是由动态数组实现的,动态数组就是长度不固定,随着数据的增多而变长。

当实例化ArrayList时(比如 List<Integer> list = new ArrayList<>()); 如果不指定长度的话,则默认为10. 

        

 

         当ArrayList增加元素的时候,它是按照顺序从头部开始往后添加,是有顺序的

          

        如果当添加的元素超过当前数组的长度时,它会创建一个新的数组,长度为当前数组的1.5倍,然后将当前数组的元素复制到新的数组,当前数组的内存会被释放

           

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值