Java 数组删除元素详解365


在 Java 中,数组是一个用于存储相同数据类型元素的有序集合。数组元素可以通过索引进行访问,其中第一个元素的索引为 0。有时,我们需要从数组中删除一个或多个元素。本文将介绍几种在 Java 中删除数组元素的方法。

使用 ()

() 方法是删除数组元素最常用的方法。它将源数组的一部分复制到目标数组。要使用此方法删除元素,可以使用以下步骤:
创建目标数组,其长度比原始数组小 1。
使用 () 方法从原始数组复制元素到目标数组,跳过要删除的元素。
将原始数组指向目标数组。


int[] arr = {1, 2, 3, 4, 5};
// 跳过索引为 2 的元素
int[] newArr = new int[ - 1];
(arr, 0, newArr, 0, 2);
(arr, 3, newArr, 2, - 3);
// 将原始数组指向目标数组
arr = newArr;

使用 () (Apache Commons Lang)

Apache Commons Lang 库提供了一个名为 () 的实用方法。此方法通过创建一个新数组来删除元素,跳过要删除的元素。
import ;
int[] arr = {1, 2, 3, 4, 5};
// 跳过索引为 2 的元素
arr = (arr, 2);

使用流和过滤 (Java 8+)

Java 8 引入了流和过滤功能,可以方便地从数组中删除元素。要使用此方法:
创建 IntStream 或 Stream,具体取决于数组的数据类型。
使用 filter() 方法过滤掉要删除的元素。
将过滤后的流转换为数组。


int[] arr = {1, 2, 3, 4, 5};
// 跳过索引为 2 的元素
int[] newArr = (arr)
.filter(i -> i != 3)
.toArray();

使用 List 转换

另一种方法是将数组转换为 List,删除元素,然后将其转换回数组。这可以方便地在数组中删除多个元素。
List list = (1, 2, 3, 4, 5);
// 删除索引为 2 的元素
(2);
// 转换为数组
int[] newArr = ()
.mapToInt(Integer::intValue)
.toArray();


在 Java 中有多种方法可以删除数组元素。在选择方法时,应考虑以下因素:元素的索引、要删除的元素数以及是否需要创建新数组。上面讨论的方法提供了灵活性和效率,可满足不同的要求。

2024-10-31


上一篇:Java 方法定义:创建定制方法的指南

下一篇:使用 Java 向数据库写入数据