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

Java 中数组去空的技巧
如何从 Java 数组中删除空元素?
在 Java 中,我们可以使用多种方法从数组中删除空元素:
1. 使用 Stream API
语法:
立即学习“Java免费学习笔记(深入)”;
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
语法:
立即学习“Java免费学习笔记(深入)”;
String[] arrayWithoutNulls = Iterables.filter(Arrays.asList(array), Predicates.notNull()).toArray(String[]::new);
说明:
- 使用
Arrays.asList(array)将数组转换为列表。 - 使用
Iterables.filter()过滤掉空元素。 - 使用
toArray(String[]::new)将过滤后的列表转换为新的数组。
3. 使用循环和 ArrayList
语法:
立即学习“Java免费学习笔记(深入)”;
ListlistWithoutNulls = 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 转换为新的数组。











