Arraylist
类实现List
接口,它基于Array
数据结构。由于其提供的功能和灵活性,它被广泛使用。大多数开发人员选择Arraylist
而不是数组,因为它是传统 java 数组的一个很好的替代品。ArrayList
是List
接口的可调整大小的数组实现。它实现了所有可选的列表操作,并允许所有元素,包括null
。
为什么ArrayList
比数组好?
数组的限制是它有一个固定的长度,所以如果它已满,你不能再添加任何元素,同样如果有多个元素被删除,内存消耗将与它不收缩相同。
另一个ArrayList
可以在添加和删除元素后动态增长和缩小(参见下图)。除了这些好处之外,ArrayList
类还允许我们使用它的预定义方法,这使我们的任务变得简单。让我们看一下图表来理解从ArrayList
中添加和删除元素,然后我们将看到这些程序。
在指定位置的ArrayList
中添加元素:
从ArrayList
中删除元素:
本指南末尾有一些关于
ArrayList
的教程列表,请参考它以完全理解和学习ArrayList
概念。
如何创建ArrayList
?
我们可以通过编写一个这样的简单语句来创建一个ArrayList
:
此语句创建一个名为alist
且类型为String
的ArrayList
。该类型确定列表将具有哪种类型的元素。由于此列表是String
类型,因此要添加到此列表的元素将为String
类型。
类似地,我们可以创建接受int
元素的ArrayList
。
如何将元素添加到ArrayList
?
我们使用add()
方法向ArrayList
添加元素,这种方法有几种变体,我们可以根据需要使用它们。例如:如果我们想在List
的末尾添加元素,那么就这样做:
要在ArrayList
中的指定位置添加元素,我们可以在add
方法中指定索引,如下所示:
让我们写完整的代码:
输出:
注意:由于索引从 0 开始,索引 3 将代表第四个位置而不是 3。
如何从ArrayList
中删除元素?
我们使用remove()
方法从ArrayList
中删除元素,与add()
方法相同,此方法也有一些变化。
例如:
输出:
迭代ArrayList
在上面的例子中,我们只是通过引用ArrayList
实例来显示ArrayList
元素,这绝对不是显示元素的正确方法。显示元素的正确方法是使用像这样的高级for
循环。
输出:
Java 中的ArrayList
示例
此示例演示如何从ArrayList
创建,初始化,添加和删除元素。在这个例子中,我们有一个类型为String
的ArrayList
。我们使用add(String E)
方法在ArrayList
中添加了 5 个String
元素,此方法在ArrayList
的末尾添加了元素。
然后我们使用方法add(int index,String E)
在ArrayList
中添加另外两个元素,此方法在指定的索引处添加指定的元素,索引 0 表示第一个位置,1 表示第二个位置。
然后我们从ArrayList
中删除元素"Chaitanya"
和"Harry"
,然后我们使用方法remove(int index)
删除ArrayList
的第二个元素。由于我们已将索引指定为 1(remove(1)
),因此它将删除第二个元素。
ArrayList
类的方法
在上面的例子中,我们使用了add()
和remove()
等方法。但是有许多方法可以直接使用ArrayList
类的对象。我们来讨论一下ArrayList
类的几个重要方法。
1)add(Object o)
:此方法向arraylist
添加一个对象o
。
这个语句会在最后一个位置的arraylist
中添加一个字符串hello
。
2) add(int index, Object o)
:它将对象o
添加到给定索引处的ArrayList
中。
它将字符串再见添加到ArrayList
的第二个索引(ArrayList
以索引 0 开头的第三个位置)。
3)remove(Object o)
:从ArrayList
中删除对象o
。
该语句将从ArrayList
中删除字符串"Chaitanya"
。
4)remove(int index)
:从给定索引中删除元素。
它将删除索引 3 的元素(列表的第 4 个元素 – 列表以 0 开头)。
5)set(int index, Object o)
:用于更新元素。它用对象o
替换指定索引处的元素。
它将使用值Tom
替换第 3 个元素(index = 2
是第 3 个元素)。
6)int indexOf(Object o)
:给出对象o
的索引。如果在列表中找不到该元素,则此方法返回值 -1。
这将给出列表中字符串Tom
的索引(位置)。
7)Object get(int index)
:返回列表对象,该对象出现在指定的索引处。
函数get
将返回存储在第 3 个位置(索引 2)的字符串,并将分配给字符串"str"
。我们已将返回的值存储在字符串变量中,因为在我们的示例中,我们已经定义了ArrayList
是String
类型。如果您有整数ArrayList
,则返回的值应存储在整数变量中。
8)int size()
:它给出了ArrayList
的大小 – 列表元素的数量。
9)boolean contains(Object o)
:它检查给定对象o
是否存在于ArrayList
中,如果它在那里则返回true
,否则返回false
。
如果字符串"Steve"
出现在列表中,它将返回true
,否则我们将得到false
。
10)clear()
:**它用于一次性删除ArrayList
的所有元素。下面的代码将删除其对象为obj
的ArrayList
的所有元素。