Java中如何删除数组呢?
下文笔者讲述java代码删除数组的方法及示例分享,如下所示
Java数组简介
数组是
常用的数据结构之一
可存储一组相同类型的数据
在实际应用中
数组元素的增删改查操作都非常常见
其中删除操作有时显得比其他操作更为麻烦
Java删除数组元素的实现思路
1.使用索引删除元素 2.复制新数组的方式 删除元素 3.使用Stream API删除元素
使用索引删除元素
在Java数组中
使用索引删除元素是最基本的一种方式
要删除指定索引位置的元素
可以先将该元素后面的元素全部向前移动一位
然后将最后一个元素设置为null
public class DeleteElementDemo {
public static void main(String[] args) {
// 创建一个整型数组
int[] arr = {1, 2, 3, 4, 5};
// 删除索引为2的元素
int index = 2;
for (int i = index; i < arr.length - 1; i++) {
arr[i] = arr[i + 1];
}
arr[arr.length - 1] = 0;
// 输出删除元素后的数组
System.out.println(Arrays.toString(arr));
}
}
注意事项:
如果要删除的元素位于数组的末尾
那么就不需要将后面的元素向前移动
使用System.arraycopy()删除元素
System.arraycopy():
Java提供的一个用于数组操作的高效方法
可将指定数组的其中一部分复制到另一个数组中
且可以选择从复制后的数组的哪个位置开始插入
使用System.arraycopy()方法和Arrays.copyOf()方法
可以很方便地从数组中删除元素
例
public class DeleteElementDemo {
public static void main(String[] args) {
// 创建一个整型数组
int[] arr = {1, 2, 3, 4, 5};
// 删除索引为2的元素
int index = 2;
int numMoved = arr.length - index - 1;
System.arraycopy(arr, index + 1, arr, index, numMoved);
arr[arr.length - 1] = 0;
// 输出删除元素后的数组
System.out.println(Arrays.toString(arr));
}
}
使用Arraylist删除元素
在Java编程中 ArrayList类是一种常用的动态数组 可以动态添加或删除元素 且ArrayList类中提供非常方便的remove()方法 用于删除指定元素
public class DeleteElementDemo {
public static void main(String[] args) {
// 创建ArrayList
ArrayList list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
// 删除元素
list.remove(new Integer(3));
// 输出删除元素后的ArrayList
System.out.println(list);
}
}
注意事项:
在ArrayList中使用remove()方法删除元素时
要使用包装类型作为参数
使用Java 8的Stream API删除元素
Java 8中
Stream API可以很方便地对数组中的元素进行筛选、排序、遍历等操作
使用Stream的filter()方法可以筛选出符合要求的元素
然后使用collect()方法将其汇总成为一个数组
public class DeleteElementDemo {
public static void main(String[] args) {
// 创建一个整型数组
int[] arr = {1, 2, 3, 4, 5};
// 删除元素4
arr = IntStream.of(arr).filter(i -> i != 4).toArray();
// 输出删除元素后的数组
System.out.println(Arrays.toString(arr));
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


