集合之ArrayList

ArrayList继承AbstractList抽象类


AbstractLis抽象类继承AbstractCollection抽象类并实现了List接口

AbstractCollection和List都实现了Collection接口

 

 

一、ArrayList常用方法

 

    • add(Object o)方法,用于向list集合容器之中添加元素。

 

    • add(int index,Object o)方法,在指定位置添加元素,原来位置的元素后置。

 

    • addAll(Collection c)方法,用于将集合c中的所有元素都添加到列表中。

 

    • addAll(int index,Collection c),index用于指定Collection的第一个元素所插入位置的索引。

 

    • size()方法,用于获取集合中有多少个元素。

 

    • get(int index)方法,获取指定索引(从0开始)位置的元素。

 

    • clear()方法,清空List集合中的所有元素。

 

    • isEmpty()方法,判断集合容器有没有元素。

 

    • contains(Object o)方法,用来判断集合容器中是否含参数元素。

 

    • containsAll(Collection<?> c)方法,判断是否包含参数集合的所有元素。

 

    • remove(Objiect o)方法,删除List集合元素,返回boolean,并让后面元素前移。

 

    • remove(int index)方法,移除此列表中指定位置的元素。

 

    • set(int index,Object o)方法,替换指定位置的元素。

 

    • sort()方法,用于列表排序,必要时重写Comparable接口中的方法。

 

二、ArrayList部分方法实现

 

1.add(Object o)

1    public boolean add(Object o) {
2         ensureCapacityInternal(size + 1);  // 扩容
3         elementData[size++] = o;
4         return true;
5    }

将指定元素附加到此列表的末尾,ensureCapacityInternal判断是否要扩容,变成原来最大容量的1.5倍+1。

 

2.add(int index,Object o)

1     public void add(int index, Object o) {
2         rangeCheckForAdd(index); //范围检查
3 
4         ensureCapacityInternal(size + 1);  
5         System.arraycopy(elementData, index, elementData, index + 1,
6                          size - index);  //将指定源数组中的数组从指定位置开始复制到目标数组的指定位置
7         elementData[index] = o;
8         size++;
9     }

在此列表中的指定位置插入指定元素。将当前位于该位置的元素(如果有)和任何后续元素向右移动(将其索引加一)。

 

3.remove(int index)

 1     public Object remove(int index) {
 2         rangeCheck(index);
 3 
 4         
5 Object oldValue = elementData(index); 6 7 int numMoved = size - index - 1; 8 if (numMoved > 0) 9 System.arraycopy(elementData, index+1, elementData, index, 10 numMoved); 11 elementData[--size] = null; 12 13 return oldValue; 14 }

移除此列表中指定位置的元素。将任何后续元素向左移动(从它们的索引中减去 1)。

 

4.remove(Object o)

 1     public boolean remove(Object o) {
 2         if (o == null) {
 3             for (int index = 0; index < size; index++)
 4                 if (elementData[index] == null) {
 5                     fastRemove(index);
 6                     return true;
 7                 }
 8         } else {
 9             for (int index = 0; index < size; index++)
10                 if (o.equals(elementData[index])) {
11                     fastRemove(index);
12                     return true;
13                 }
14         }
15         return false;
16     }

从此列表中删除第一次出现的指定元素(如果存在)。如果列表不包含该元素,则它不变。

 

5.contains(Object o)

 1     public boolean contains(Object o) {
 2         return indexOf(o) >= 0;
 3     }
 4  
 5     public int indexOf(Object o) {
 6         if (o == null) {
 7             for (int i = 0; i < size; i++)
 8                 if (elementData[i]==null)
 9                     return i;
10         } else {
11             for (int i = 0; i < size; i++)
12                 if (o.equals(elementData[i]))
13                     return i;
14         }
15         return -1;
16     }

如果此列表包含指定元素,则返回 true。

 

6.clear()

1     public void clear() {
2         
3         for (int i = 0; i < size; i++)
4             elementData[i] = null;
5 
6         size = 0;
7     }

从此列表中删除所有元素。此调用返回后,列表将为空。

2022-2-8 22:16

推荐这些文章:

习题8-2 在数组中查找指定元素 (15 分)

#include <stdio.h>
#define MAXN 10

int search(int list[], int n, int x);

int main()
{
int i, index, n, x;
int a[MAXN];

scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
scanf("%d", &x);
index = search(a, n, x);
if (index != -1)...

Java中ArrayList的常用方法(常用API)——随笔(二)

方法名称

 说明

public E get(int index)
 返回指定索引处的元素

public int size()
 返回集合中的元素的个数

public E remove(int index)
修改指定索引处的元素,返回被删除的元素

public boolean remove(Object o)
 删除指定的元素,返回删除是否成功

public E set(int index,E element)
修改指定索引处的元素,返回被修改的元素

...

Java 集合框架:ArrayList学习

Java ArrayList:

Java ArrayList:

ArrayList类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制;

我们可以添加或删除元素;

ArrayList继承了AbstractList,并实现了List接口;
 

ArrayList类:语法
​ArrayList<E> objectName=new ArrayList();//E是泛型数据类型,用于设置objectName的数据类型,只能为引用数据类型​
 

ArrayList类:常用方法:

添加:add():
//添加元素:...

python 向集合追加元素 add()/update()

一、创建集合a

 
 二、向集合a里添加元素
比较add和update的不同

 

...

List接口中的常用方法

void add(int index, Object ele):在index位置插入ele元素boolean addAll(int index, Collection eles):从index位置开始将eles中的所有元素添加进来Object get(int index):获取指定index位置的元素int indexOf(Object obj):返回obj在集合中首次出现的位置。如果不存在,返回-1.int lastIndexOf(Object obj):返回obj在当前集合中末次出现的位置。如果不存在,返回-1.Object remove(int index):移除指定index位置的元...

文章标题:集合之ArrayList
文章链接:https://www.dianjilingqu.com/51279.html
本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:saisai#email.cn,感谢支持理解。
THE END
< <上一篇
下一篇>>