首页 > 其他分享 >ArrayList集合底层原理

ArrayList集合底层原理

时间:2022-10-23 20:00:25浏览次数:58  
标签:1.5 ArrayList 数组 集合 长度 底层

(1)利用空参创建的集合,在底层创建一个默认长度为0的数组;

(2)添加第1个元素时,底层创建一个新的长度为10的数组;

(3)存满时,会扩容1.5倍;

(4)如果一次添加多个数据,1.5倍还放不下,则新创建的数组的长度以实际为准。

数组的名字为elementData,它还有一个参数size,它有两层意思,第一层为它指的是集合当前的长度;第二层意思是下一个元素应存入的位置。

标签:1.5,ArrayList,数组,集合,长度,底层
From: https://www.cnblogs.com/qiqi-yi/p/16819314.html

相关文章

  • c++算法竞赛常用板子集合(持续更新)
    前言本文主要包含算法竞赛一些常用的板子,码风可能不是太好,还请见谅。后续会继续补充没有的板子。当然我太菜了有些可能写不出来T^T稍微有些分类但不多,原谅我QwQ建议Ct......
  • 关于字典和集合顺序的一些思考
    要探究这个问题,首先需要明白,字典和集合的底层逻辑都是哈希表。那先来复习一下什么叫哈希表哈希表哈希(hash)hash,意译为散列,音译为哈希。是把任意长度的输入通过特定的算......
  • JAVA---ArrayList的add底层源码分析
    1.ArrayList   无参构造器使用ArrayList源码1.首先创建了一个空的elementData数组2.add()方法添加第一个元素,如果是值类型来说,往ArrayList里面添加和修改元素,都......
  • java基础HashSet 集合TreeSet集合
           ......
  • Python教程Day07-集合
    集合一、创建集合创建集合使用​​{}​​​或​​set()​​​,但是如果要创建空集合只能使用​​set()​​​,因为​​{}​​用来创建空字典。s1={10,20,30,40,50}pri......
  • Java--->集合中常用的ArrayList的使用和介绍
    前段时间一直在说数组,今天说下Java集合中常用的ArrayListArrayList类是一个可以动态修改的数组,与普通数组的区别就是ArrayList没有固定大小的限制,可以添加或删除元素。Array......
  • 补题记录——Oct. Training 1-图论、集合哈希
    H-BoboniuWalksonGraphhttps://codeforces.com/problemset/problem/1394/B题意给n个点m条有向边,么个点的出度不超过k(k<=9),每条边都有一个边权在(\(1<=w<=m\))且每条边......
  • 今天聊下Java中的HashMap---Java中用的就很多的集合框架
    先说下HashMap的定义HashMap是一个散列表,存储的内容是键值对(key-value)映射。HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键......
  • 集合
    集合集合基本介绍可以动态保存任意多个对象提供了一系列方便的操作对象的方法使用集合添加、删除新元素的示意代码更简洁集合框架体系Collection基本介绍:Coll......
  • ArrayList深入分析
    基本方法publicclassArrayListTest1{ publicstaticvoidmain(String[]args){ ArrayListarrayList=newArrayList(); arrayList.add("hello"); arrayList......