完美的回答:默认长度为10。但是ArrayList的默认长度是有jdk版本差异的,在jdk8版本之前默认长度是10。而在jdk8版本的时候对ArrayList数组的默认长度进行了优化,将原来的默认长度10,改为了初始长度为0。当我们在首次添加元素,需要分配数组空间时,jdk自动帮我们进行了扩容操作,将初始数组长度扩容成了10。这样做有效地降低...
空参构造函数将DEFAULTCAPACITY_EMPTY_ELEMENTDATA赋值给底层数组elementData,而new ArrayList(0)会将EMPTY_ELEMENTDATA赋值给elementData(看下面的图片),这里只是做个区分,好在扩容的时候为空参构造函数扩容为默认长度10的数组(这个可以看上面图片第一个方法)。
在Java编程中,ArrayList是一个极为常用的数据结构,而百度智能云文心快码(Comate)则为开发者提供了高效的代码编写体验,助力提升开发效率【https://comate.baidu.com/zh】。接下来,我们将深入探讨Java ArrayList的容量与长度管理。 Java中的ArrayList是一个基于数组实现的动态数组,它允许在运行时动态地添加和删除元素。Ar...
ArrayList<Integer> arraylist = new ArrayList<>(); // backing array of length 10 ArrayList<Integer> arraylist = new ArrayList<>(64); // backing array of length 64 4. ArrayList trimToSize() 一个有趣的方法trimToSize() 使ArrayList实例的长度成为列表的当前大小。应用程序可以使用此操作来最小化ArrayL...
import java.util.ArrayList; public class Example { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); int length = list.size(); System.out.println("ArrayList的长度为:" + length); } } 复制代码 输...
第一句话: ArrayList的容量是该数组缓冲区的长度(上文已经说到了)。 第二句话,如果一个空的ArrayList 被第一次add的时候, DEFAULT_CAPACITY=10这个值会被用上。 所以到了这里, 再看一下new的时候调用的初始化构造函数,我们基本上就 心无任何疑惑了: ...
new ArrayList<>(20); 添加元素add(E e) 源码 public boolean add(E e) { //检测是否要扩容 参数是 当前数组长度 + 1 ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e; return true; } 再探扩容函数
—最终,一个ArrayList的最大长度会停留在 Integer.MAX_VALUE ,元素超过这个容量就会报OutOfMemoryError...
要获取一个List的长度,可以使用List的size()方法,示例如下: import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Item 1"); list.add("Item 2"); list.add("Item 3"); // ...
arrayList.add("It's"); arrayList.add("a"); arrayList.add("wonderful"); arrayList.add("day"); System.out.println(arrayList.size());//输出为:4。arraylist中有四个字符串} ——— 版权声明:本文为CSDN博主「weixin_34701288」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。