Java ArrayList方法详解:get、set、remove、size及遍历方式

Java ArrayList方法详解:get、set、remove、size及遍历方式

在Java中,ArrayList 是一个非常常用的集合类,提供了动态数组的功能。本文将深入解析 ArrayList 的常用方法,包括 get、set、remove、size,以及两种遍历方式:for 循环和增强型 for 循环。通过代码示例和详细解析,帮助你更好地掌握这些方法的使用。

1. get 方法

get 方法用于获取 ArrayList 中指定索引位置的元素。索引从 0 开始,如果索引超出范围,会抛出 IndexOutOfBoundsException 异常。

示例代码

import java.util.ArrayList;

public class GetExample {

public static void main(String[] args) {

ArrayList list = new ArrayList<>();

list.add("李宁");

list.add("尚明君");

list.add("王帆");

list.add("任英哲");

// 获取索引为1的元素

String element = list.get(1);

System.out.println("索引为1的元素是:" + element);

}

}

输出结果

索引为1的元素是:尚明君

2. set 方法

set 方法用于将指定索引位置的元素替换为新的元素,并返回被替换的旧元素。

示例代码

import java.util.ArrayList;

public class SetExample {

public static void main(String[] args) {

ArrayList list = new ArrayList<>();

list.add("吴亦凡");

list.add("尚明君");

list.add("王帆");

// 将索引为0的元素替换为"吴晓波"

String oldElement = list.set(0, "吴晓波");

System.out.println("替换前的元素是:" + oldElement);

System.out.println("替换后的列表:" + list);

}

}

输出结果

替换前的元素是:吴亦凡

替换后的列表:[吴晓波, 尚明君, 王帆]

3. remove 方法

remove 方法有两种形式:

- remove(int index):根据索引删除元素,返回被删除的元素。

- remove(Object obj):根据对象删除元素,返回删除是否成功。

示例代码

import java.util.ArrayList;

public class RemoveExample {

public static void main(String[] args) {

ArrayList list = new ArrayList<>();

list.add(1);

list.add(2);

list.add(3);

// 删除索引为1的元素

Integer removedElement = list.remove(1);

System.out.println("删除的元素是:" + removedElement);

System.out.println("删除后的列表:" + list);

// 删除值为3的元素

boolean isRemoved = list.remove(new Integer(3));

System.out.println("是否成功删除值为3的元素:" + isRemoved);

System.out.println("删除后的列表:" + list);

}

}

输出结果

删除的元素是:2

删除后的列表:[1, 3]

是否成功删除值为3的元素:true

删除后的列表:[1]

4. size 方法

size 方法用于返回 ArrayList 中的元素个数。

示例代码

import java.util.ArrayList;

public class SizeExample {

public static void main(String[] args) {

ArrayList list = new ArrayList<>();

list.add("李宁");

list.add("尚明君");

list.add("王帆");

// 获取列表的大小

int size = list.size();

System.out.println("列表的大小是:" + size);

}

}

输出结果

列表的大小是:3

5. 遍历方式

5.1 for 循环

通过索引遍历 ArrayList 中的元素。

示例代码

import java.util.ArrayList;

public class ForLoopExample {

public static void main(String[] args) {

ArrayList list = new ArrayList<>();

list.add("李宁");

list.add("尚明君");

list.add("王帆");

// 使用for循环遍历

for (int i = 0; i < list.size(); i++) {

System.out.println("索引为" + i + "的元素是:" + list.get(i));

}

}

}

输出结果

索引为0的元素是:李宁

索引为1的元素是:尚明君

索引为2的元素是:王帆

5.2 增强型 for 循环

通过增强型 for 循环直接遍历 ArrayList 中的元素。

示例代码

import java.util.ArrayList;

public class EnhancedForLoopExample {

public static void main(String[] args) {

ArrayList list = new ArrayList<>();

list.add("李宁");

list.add("尚明君");

list.add("王帆");

// 使用增强型for循环遍历

for (String element : list) {

System.out.println("元素是:" + element);

}

}

}

输出结果

元素是:李宁

元素是:尚明君

元素是:王帆

常见问题解答(FAQ)

问题 答案

get 方法和 set 方法的区别是什么? get 方法用于获取指定索引位置的元素,而 set 方法用于替换指定索引位置的元素。

remove 方法的两种形式如何区分? remove(int index) 根据索引删除元素,remove(Object obj) 根据对象删除元素。

size 方法的作用是什么? size 方法返回 ArrayList 中的元素个数。

for 循环和增强型 for 循环的区别是什么? for 循环通过索引遍历,增强型 for 循环直接遍历元素。

ArrayList 的底层实现是什么? ArrayList 的底层实现是动态数组。

相似概念对比

方法 作用 返回值 异常

get 获取指定索引位置的元素 元素 IndexOutOfBoundsException

set 替换指定索引位置的元素 被替换的元素 IndexOutOfBoundsException

remove(int index) 删除指定索引位置的元素 被删除的元素 IndexOutOfBoundsException

remove(Object obj) 删除指定对象的元素 删除是否成功 无

size 获取集合的大小 集合大小 无

通过本文的解析和示例代码,相信你已经对 ArrayList 的常用方法有了更深入的理解。希望这些内容能帮助你在实际开发中更高效地使用 ArrayList。