当前位置: 首页 > 图灵资讯 > 技术篇> java数组怎么删除空的数据

java数组怎么删除空的数据

来源:图灵教育
时间:2024-11-13 16:03:13
java 数组中删除空数据有四种方法:使用 arrays.stream() 和 filter() 过滤出非空元素。使用 list.of() 和 removeall() 将空元素添加到新列表中,然后从原始列表中删除。使用 stream.concat() 和 stream.of() 将空元素流连接到原始数组流,再过滤出非空元素。使用循环遍历数组,将非空元素添加到新数组中。

java数组怎么删除空的数据

Java 数组中删除空数据

在 Java 数组中删除空数据有多种方法,以下是其中一些常用方法:

1. 使用 Arrays.stream() 和 filter()

int[] arr = {1, 2, 0, 4, 5, 0, 7};

// 使用 Arrays.stream() 创建流
IntStream stream = Arrays.stream(arr);

// 使用 filter() 过滤出不为 0 的元素
IntStream filteredStream = stream.filter(n -> n != 0);

// 将过滤后的流转换为数组
int[] newArr = filteredStream.toArray();

2. 使用 List.of() 和 removeAll()

立即学习“Java免费学习笔记(深入)”;

List<Integer> list = List.of(1, 2, 0, 4, 5, 0, 7);

// 将列表中的所有空数据 (0) 添加到新列表
List<Integer> zeros = List.of(0);

// 从列表中删除 newZeros 中的所有元素
list.removeAll(zeros);

// 将列表转换为数组
int[] newArr = list.stream().mapToInt(i -> i).toArray();

3. 使用 Stream.concat() 和 Stream.of()

int[] arr = {1, 2, 0, 4, 5, 0, 7};

// 为所有空数据 (0) 创建一个包含 0 的流
Stream<Integer> zeroStream = Stream.of(0);

// 将两个流连接在一起
Stream<Integer> combinedStream = Stream.concat(Arrays.stream(arr), zeroStream);

// 过滤出不为 0 的元素
Stream<Integer> filteredStream = combinedStream.filter(n -> n != 0);

// 将过滤后的流转换为数组
int[] newArr = filteredStream.toArray();

4. 使用循环

int[] arr = {1, 2, 0, 4, 5, 0, 7};
int[] newArr = new int[arr.length];
int index = 0;

// 遍历数组
for (int n : arr) {
    // 如果 n 不为 0,则将其添加到 newZeros
    if (n != 0) {
        newArr[index++] = n;
    }
}

以上就是java数组怎么删除空的数据的详细内容,更多请关注图灵教育其它相关文章!