Java如何进行数组删除呢?
下文笔者讲述数组元素删除的方法分享,如下所示
数组简介
数组: 常用的数据结构之一 可存储一组相同类型的数据 数组的增删改查是我们日常的操作方法,下文笔者将讲述数组删除元素的实现方法,如下所示
数组删除元素的实现思路 方式1: 使用索引删除元素 方式2: 使用System.arraycopy() 方法删除元素(本质是数组复制操作) 方式3: 使用Arraylist删除元素(元素需为包装类) 方式4: 使用Java 8的Stream API删除元素
数组元素删除示例
使用索引删除元素
使用索引删除元素是我们日常使用最多的一种方式 要删除指定索引位置的元素 可以先将该元素后面的元素全部向前移动一位 然后将最后一个元素设置为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提供的一个用于数组操作的高效方法 可将指定数组的其中一部分复制到另一个数组中 可选择从复制后的数组的哪个位置开始插入
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删除元素
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); } }
使用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)); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。