📜  java remove List null element - Java (1)

📅  最后修改于: 2023-12-03 15:31:31.867000             🧑  作者: Mango

Java中如何移除List中的null元素

有时我们需要从List中移除那些为null的元素,Java提供了多种方法可以实现这种操作。下面是一些常用的方法:

方法一:使用removeAll方法

可以使用removeAll方法移除List中的null元素。下面是代码示例:

List<String> list = new ArrayList<>();
list.add("java");
list.add(null);
list.add("python");
list.add(null);

list.removeAll(Collections.singleton(null));

System.out.println(list.toString()); // 输出结果:[java, python]

说明:

  • 使用Collections.singleton(null)来创建一个只包含null元素的集合。
  • 调用list的removeAll方法,将只包含null元素的集合作为参数传入,从而移除List中的null元素。
方法二:使用Iterator迭代器

另一种方法是使用迭代器Iterator遍历List,然后使用remove方法移除null元素。代码示例如下:

List<String> list = new ArrayList<>();
list.add("java");
list.add(null);
list.add("python");
list.add(null);

Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    if (iterator.next() == null) {
        iterator.remove();
    }
}

System.out.println(list.toString()); // 输出结果:[java, python]

说明:

  • 使用List的iterator方法获取一个迭代器。
  • 使用while循环和hasNext方法遍历List中的元素。
  • 使用next方法获取每个元素,判断该元素是否为null,如果是则使用remove方法移除该元素。
方法三:使用Java 8的Stream API

在Java 8中使用Stream API也可以移除List中的null元素,代码示例如下:

List<String> list = new ArrayList<>();
list.add("java");
list.add(null);
list.add("python");
list.add(null);

list = list.stream().filter(s -> s != null).collect(Collectors.toList());

System.out.println(list.toString()); // 输出结果:[java, python]

说明:

  • 使用List的stream方法获取一个Stream。
  • 使用filter方法过滤掉为null的元素。
  • 使用collect方法将Stream转换为List。

通过以上三种方法,我们可以很容易地从List中移除为null的元素,保证List中的每个元素都是有效的。