Java ArrayList 类
Java ArrayList 类
在本教程中,我们将学习 Java 中的 ArrayList 类。我们将通过示例了解arraylist的不同操作和方法。
ArrayList
Java 集合框架的类提供了 resizable-arrays 的功能 .
它实现了 List
界面。

Java ArrayList 与数组
在 Java 中,我们需要先声明数组的大小,然后才能使用它。一旦声明了数组的大小,就很难更改。
为了处理这个问题,我们可以使用 ArrayList
班级。它允许我们创建可调整大小的数组。
与数组不同,arraylists 可以在我们添加或删除元素时自动调整其容量。因此,数组列表也称为动态数组 .
创建一个数组列表
使用 ArrayList
之前 ,我们需要导入 java.util.ArrayList
先打包。下面是我们如何在 Java 中创建数组列表:
ArrayList<Type> arrayList= new ArrayList<>();
在这里,类型 表示数组列表的类型。例如,
// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();
// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();
在上面的程序中,我们使用了 Integer
不是int。这是因为我们在创建数组列表时不能使用原始类型。相反,我们必须使用相应的包装类。
这里,Integer
是int
对应的包装类 .要了解更多信息,请访问 Java 包装类。
示例:在 Java 中创建 ArrayList
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// Add elements to ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Swift");
System.out.println("ArrayList: " + languages);
}
}
输出
ArrayList: [Java, Python, Swift]
在上面的例子中,我们创建了一个 ArrayList
命名为语言 .
在这里,我们使用了 add()
方法将元素添加到arraylist。我们将详细了解 add()
本教程后面的方法。
ArrayList 的基本操作
ArrayList
类提供了各种方法来对数组列表执行不同的操作。我们将在本教程中看一些常用的arraylist操作:
- 添加元素
- 访问元素
- 改变元素
- 移除元素
1.将元素添加到 ArrayList
要将单个元素添加到 arraylist,我们使用 add()
ArrayList
的方法 班级。例如,
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// add() method without the index parameter
languages.add("Java");
languages.add("C");
languages.add("Python");
System.out.println("ArrayList: " + languages);
}
}
输出
ArrayList: [Java, C, Python]
在上面的例子中,我们创建了一个 ArrayList
命名为语言 .在这里,我们使用了 add()
将元素添加到 languages 的方法 .
要了解更多信息,请访问 Java ArrayList add()。
向数组列表添加元素的其他方式
如何在 ArrayList 的指定位置添加元素?
我们也可以传递一个索引号 作为 add()
的附加参数 在指定位置添加元素的方法。例如,
// add JavaScript at index 1
languages.add(1, "JavaScript");
// add C++ at index 3
languages.add(3, "C++");
如何将集合的所有元素添加到数组列表?
我们还可以使用 addAll()
将集合(集合、映射)的所有元素添加到数组列表 方法。例如,
import java.util.ArrayList;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
// create a set
HashSet<String> vowels = new HashSet<>();
vowels.add("a");
vowels.add("e");
vowels.add("i");
// create an arraylist
ArrayList<String> alphabets = new ArrayList<>();
// add all elements of set to arraylist
alphabets.addAll(vowels);
System.out.println("ArrayList: " + alphabets);
}
}
// Output: ArrayList: [a, e, i]
要了解更多信息,请访问 Java ArrayList addAll()。
2.访问 ArrayList 元素
要访问数组列表中的元素,我们使用 get()
ArrayList
的方法 班级。例如,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the arraylist
animals.add("Cat");
animals.add("Dog");
animals.add("Cow");
System.out.println("ArrayList: " + animals);
// get the element from the arraylist
String str = animals.get(1);
System.out.print("Element at index 1: " + str);
}
}
输出
ArrayList: [Cat, Dog, Cow] Element at index 1: Dog
在上面的例子中,我们使用了 get()
带有参数 1 的方法 .这里,该方法返回 index 1 处的元素 .
要了解更多信息,请访问 Java ArrayList get()。
我们还可以访问 ArrayList
的元素 使用 iterator()
方法。要了解更多信息,请访问 Java ArrayList iterator()。
3.更改 ArrayList 元素
要更改数组列表的元素,我们使用 set()
ArrayList
的方法 班级。例如,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Kotlin");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// change the element of the array list
languages.set(2, "JavaScript");
System.out.println("Modified ArrayList: " + languages);
}
}
输出
ArrayList: [Java, Kotlin, C++] Modified ArrayList: [Java, Kotlin, JavaScript]
在上面的例子中,我们创建了一个 ArrayList
命名为语言 .注意这一行,
language.set(2, "JavaScript");
在这里,set()
方法更改 index 2 处的元素 到 JavaScript .
要了解更多信息,请访问 Java ArrayList set()。
4.删除 ArrayList 元素
要从数组列表中删除一个元素,我们可以使用 remove()
ArrayList
的方法 班级。例如,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the array list
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("ArrayList: " + animals);
// remove element from index 2
String str = animals.remove(2);
System.out.println("Updated ArrayList: " + animals);
System.out.println("Removed Element: " + str);
}
}
输出
ArrayList: [Dog, Cat, Horse] Updated ArrayList: [Dog, Cat] Removed Element: Horse
在这里,remove()
方法采用索引号 作为参数。并且,移除 index number 指定的元素 .
要了解更多信息,请访问 Java ArrayList remove()。
我们还可以一次从 arraylist 中删除所有元素。要了解更多信息,请访问
- Java ArrayList removeAll()
- Java ArrayList clear()
ArrayList类的方法
在上一节中,我们了解了 add()
, get()
, set()
, 和 remove()
ArrayList
的方法 类。
除了这些基本方法,这里还有一些 ArrayList
常用的方法。
方法 | 说明 |
---|---|
尺寸() | 返回数组列表的长度。 |
排序() | 对arraylist元素进行排序。 |
克隆() | 创建一个具有相同元素、大小和容量的新数组列表。 |
包含() | 在数组列表中搜索指定元素并返回布尔结果。 |
ensureCapacity() | 指定arraylist可以包含的总元素。 |
isEmpty() | 检查数组列表是否为空。 |
indexOf() | 在arraylist中搜索指定元素并返回该元素的索引。 |
如果你想了解arraylist的所有不同方法,请访问Java ArrayList方法。
遍历一个 ArrayList
我们可以使用Java for-each 循环来遍历arraylist 的每个元素。例如,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// creating an array list
ArrayList<String> animals = new ArrayList<>();
animals.add("Cow");
animals.add("Cat");
animals.add("Dog");
System.out.println("ArrayList: " + animals);
// iterate using for-each loop
System.out.println("Accessing individual elements: ");
for (String language : animals) {
System.out.print(language);
System.out.print(", ");
}
}
}
输出
ArrayList: [Cow, Cat, Dog] Accessing individual elements: Cow, Cat, Dog,
常见问题
Java ArrayList 和 LinkedList 有什么区别?
ArrayList
之间的一些主要区别 和 LinkedList
在 Java 中是:
数组列表 | 链表 |
实现List 界面 | 实现 List , Queue , 和 Deque 接口。 |
存储单个值。 | 存储 3 个值:数据、上一个地址和下一个地址 |
提供可调整大小数组的功能。 | 提供双向链表的功能 |
我们可以将 ArrayList
使用 toArray()
进入数组 方法。例如,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Python");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// create a new array of String type
String[] arr = new String[languages.size()];
// convert ArrayList into an array
languages.toArray(arr);
System.out.print("Array: ");
// access elements of the array
for (String item : arr) {
System.out.print(item + ", ");
}
}
}
输出
ArrayList: [Java, Python, C++] Array: Java, Python, C++,
在上面的例子中,toArray()
方法转换 语言 arraylist 到一个数组并将其存储在 arr .要了解更多信息,请访问 Java ArrayList toArray()。
我们使用 asList()
Arrays
的方法 班级。使用 asList()
,我们必须导入 java.util.Arrays
先打包。例如,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create an array of String type
String[] arr = { "Java", "Python", "C++" };
System.out.print("Array: ");
// print array
for (String str : arr) {
System.out.print(str);
System.out.print(" ");
}
// create an ArrayList from an array
ArrayList<String> languages = new ArrayList<>(Arrays.asList(arr));
System.out.println("\nArrayList: " + languages);
}
}
输出
Array: Java Python C++ ArrayList: [Java, Python, C++]
在上面的程序中,我们首先创建了一个数组arr
String
类型。注意表达式,
Arrays.asList(arr)
这里,asList()
方法将数组转换为数组列表。
我们使用 Arrays.asList()
在一行中创建和初始化数组列表的方法。例如,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create and initialize ArrayList
ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
如何将 ArrayList 转换为字符串?
我们使用 toString()
ArrayList
的方法 类将数组列表转换为字符串。例如,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Kotlin");
System.out.println("ArrayList: " + languages);
// convert ArrayList into a String
String str = languages.toString();
System.out.println("String: " + str);
}
}
输出
ArrayList: [Java, Python, Kotlin] String: [Java, Python, Kotlin]
在这里,toString()
方法将整个数组列表转换为单个字符串。要了解更多信息,请访问 Java ArrayList toString()。
我们还可以使用 List 接口创建一个数组列表。这是因为 ArrayList 类实现了 List 接口。我们来看一个例子,
import java.util.ArrayList;
import java.util.List;
class Main {
public static void main(String[] args) {
// create arraylist using List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("C");
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
java