java中数组怎么去空

如何在 Java 中从数组中删除空元素?使用 Stream API 过滤空元素。使用 Guava 库过滤空元素。使用循环和 ArrayList 遍历数组并添加非空元素,然后将其转换为数组。

Java 中数组去空的技巧

如何从 Java 数组中删除空元素?

在 Java 中,我们可

以使用多种方法从数组中删除空元素:

1. 使用 Stream API

语法:

String[] arrayWithoutNulls = Arrays.stream(array).filter(Objects::nonNull).toArray(String[]::new);

说明:

  • 使用 Arrays.stream() 将数组转换为流。
  • 使用 filter(Objects::nonNull) 过滤掉空元素。
  • 使用 toArray(String[]::new) 将过滤后的流转换为新的数组。

2. 使用 Guava 库

依赖:


    com.google.guava
    guava
    31.1-jre

语法:

String[] arrayWithoutNulls = Iterables.filter(Arrays.asList(array), Predicates.notNull()).toArray(String[]::new);

说明:

  • 使用 Arrays.asList(array) 将数组转换为列表。
  • 使用 Iterables.filter() 过滤掉空元素。
  • 使用 toArray(String[]::new) 将过滤后的列表转换为新的数组。

3. 使用循环和 ArrayList

语法:

List listWithoutNulls = new ArrayList<>();
for (String element : array) {
    if (element != null) {
        listWithoutNulls.add(element);
    }
}
String[] arrayWithoutNulls = listWithoutNulls.toArray(new String[0]);

说明:

  • 使用循环遍历数组。
  • 对于非空元素,将其添加到 ArrayList 中。
  • 使用 toArray(new String[0]) 将 ArrayList 转换为新的数组。