首页 > 其他分享 >ArrayList

ArrayList

时间:2024-04-02 22:00:50浏览次数:19  
标签:index int ArrayList 元素 指定 数组

ArrayList

1.当创建ArrayList集合容器的时候,底层会存在一个长度为10个大 小的空数组

2.10个不够的时候,会扩充原数组1.5倍大小的新数组

3.将原数组数据,拷贝到新数组中

4.将新元素添加到新数组

集合和数组的使用选择

数组:存储的元素个数固定不变

集合:存储的元素个数经常发生变化

ArrayList<> list = new ArrayList<>() 其中<>中指定类型的容器

常见成员方法

方法名说明
add(E e)将指定的元素添加到此集合的末尾
add(int index,E element)在此集合的指定位置插入指定元素
get(int index)返回指定索引处的元素
size()返回集合的元素个数
remove(int index)删除指定索引处的元素,返回被删除的元素
romove(Object o)删除指定的元素,返回删除是否成功
set(int index,E element)修改指定索引处的元素,返回被修改的元素

但是,实现List接口并非只能通过数组(即ArrayList的实现方式)来实现,另一种LinkedList通过“链表”也实现了List接口。在LinkedList中,它的内部每个元素都指向下一个元素

我们来比较一下ArrayListLinkedList

ArrayListLinkedList
获取指定元素速度很快需要从头开始查找元素
添加元素到末尾速度很快速度很快
在指定位置添加/删除需要移动元素不需要移动元素
内存占用较大

通常情况下,我们总是优先使用ArrayList

标签:index,int,ArrayList,元素,指定,数组
From: https://blog.csdn.net/qq_52648720/article/details/137284083

相关文章

  • java的ArrayList类
    ArrayList<E>E是自定义数据类型ArrayList类:构造函数: 成员方法: public boolean add(E e):将指定元素加到集合末尾Appendsthespecifiedelementtotheendofthislist.publicclassArray{publicstaticvoidmain(String[]args){ArrayLista......
  • Java学习笔记:ArrayList集合
    目录为什么要有集合:解决数组自动扩容的问题Java、python数据类型对比Java支持的数据类型主要分为两大类:Python支持多种数据类型,主要包括以下几种:在Java中常见的数据类型实现方式:Java通过使用集合框架来解决一组数据的存储和管理Java集合大致也可分成List、Set、Queue、Map四种接口......
  • ArrayList的扩容机制以及ArrayList与LinkedList的区别
    ArrayList的扩容机制假设采用无参构造器来实列化ArrayList对象ArrayListarrayList=newArrayList();此时,arrayList的初始容量为零,当第一次调用add方法时,会触发扩容机制,容量扩容为10。此后,在调用add方法时,如果容量不足,则容量会扩容为当前容量的1.5倍。capcity=capacity......
  • C# ArrayList、HashSet、HashTable、List、Dictionary的区别
    在C#中,数组由于是固定长度的,所以常常不能满足我们开发的需求。由于这种限制不方便,所以出现了ArrayList。ArrayList、List<T>ArrayList是可变长数组,你可以将任意多的数据Add到ArrayList里面。其内部维护的数组,当长度不足时,会自动扩容为原来的两倍。但是ArrayList也有一个缺点,......
  • 数据结构ArrayList之杨辉三角庖丁解牛!
    题外话先给大家露一手我对杨辉三角的理解,虽说标题是庖丁解牛,但是还是虚心请教一下大家,有什么意见都可以提出!正题思维逻辑先画个杨辉三角,有几点需要大家注意一下1.杨辉三角其实在代码里就是一个二维数组,图中i代表行但是是从0开始的,而j则代表每行的元素2.如果想......
  • java集合框架——List集合概述及ArrayList,LinkedList的区别
    前言:List系列集合是Collection集合中两个系列的其中一个,整理下笔记。打好基础,daydayup!需要了解Collection的,可以看这篇java集合框架——Collection集合概述  List系列集合List系列集合的特点为添加的元素有序,可重复,有索引。在继承了Collection方法的基础上,有很多索引......
  • 河北王校长源码之ArrayList
    ArrayListy类结构继承AbstractList实现Listlist基本方法实现RandomAccess支持随机访问(下标)for效率高于迭代器(对比LinkedList)实现Cloneable浅克隆实现Serializable序列化成员变量默认容量privatestaticfinalintDEFAULT_CAPACITY=10;空数组......
  • List集合-Arraylist
    Arraylist创建集合packageeight.list.arraylist;importjava.util.ArrayList;importjava.util.List;publicclassStudent{publicstaticvoidmain(String[]args){//创建集合//Listaa=newArrayList();ArrayListaa=newAr......
  • ArrayList和LinkedList底层原理的区别和使用场景
    (1)ArrayList底层是动态数组,查询快、增删慢。存储空间是连续的,可以根据寻址方式直接找到对应的元素位置,所以查询时间复杂度是o(1)。扩容:ArrayList支持动态扩容,在每次新增元素的时候会判断容量是否溢出,如果溢出则会进行扩容操作。当size=elementData.length时,表示数据数量已经超过......
  • Java ArrayList 与 LinkedList 的灵活选择
    JavaArrayListJavaArrayList类是一个可变大小的数组,位于java.util包中。创建ArrayListimportjava.util.ArrayList;ArrayList<String>cars=newArrayList<String>();//创建一个ArrayList对象添加元素cars.add("Volvo");cars.add("BMW");cars.add(......