Java如何进行数组删除呢?

书欣 Java经验 发布时间:2023-07-03 11:34:43 阅读数:4837 1
下文笔者讲述数组元素删除的方法分享,如下所示

数组简介

数组:
   常用的数据结构之一
   可存储一组相同类型的数据
数组的增删改查是我们日常的操作方法,下文笔者将讲述数组删除元素的实现方法,如下所示
 
数组删除元素的实现思路

方式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));
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202307/16883553246968.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者