免费app制作工具_重庆网站建设的目的_百度推广一天烧多少钱_想要网站推广页
2025/12/24 9:27:07
来源:https://blog.csdn.net/SLFG_Ts/article/details/146259702
浏览:
次
关键词:免费app制作工具_重庆网站建设的目的_百度推广一天烧多少钱_想要网站推广页
免费app制作工具_重庆网站建设的目的_百度推广一天烧多少钱_想要网站推广页
ArrayList
- 底层是数组队列,相当于动态数组。
ArrayList 中维护了一个Object 类型的数组elementData
transient Object[] elementData;
ArrayList 中可以存储任何类型的对象,包括 null 值。不过,不建议向ArrayList 中添加 null 值,会让代码难以维护比如忘记做判空处理就会导致空指针异常。ArrayList 基本等同于Vector,除了ArrayList 是线程不安全(执行效率高)。 ArrayList 是 List 的主要实现类,底层使用 Object[]存储,适用于频繁的查找工作,线程不安全 。
Vector 是List 的古老实现类,底层使用Object[] 存储,线程安全。
- 当创建
ArrayList 对象时,如果使用的是无参构造器,则初始elementData容量为0。第1次添加,则扩容elementData为10,如需要再次扩容,则扩容elementData为1.5倍。 - 如果使用的是指定大小的构造器,则初始
elementData 容量为指定大小,如果需要扩容,则直接扩容elementData 为1.5倍。
Vector
- 当创建
Vector 对象时,如果使用的是无参构造器,则初始elementData容量默认为10。如需要再次扩容,则扩容elementData为2倍。 - 如果使用的是指定大小的构造器,则初始
elementData 容量为指定大小,如果需要扩容,则直接扩容elementData 为2倍。
LinkedList
- 底层是双向链表。
- 可以添加任意类型的元素,包括
null值,可重复。 - 线程不安全。
LinkedList中维护了两个属性first和last分别指向首节点和尾节点。- 每个节点(
Node对象)又维护了prev、next、item三个属性,其中通过
prev指向前一个节点,通过next指向后一个节点。