Java中如何删除数组呢?

欣喜 Java经验 发布时间:2023-11-24 15:36:47 阅读数:4291 1
下文笔者讲述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));
    }
}
版权声明

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

本文链接: https://www.Java265.com/JavaJingYan/202311/17008114417362.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

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

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者