List集合去除null元素
虽然List集合在正常使⽤过程中不会添加NULL值作为元素,但为了代码的健壮性,在遍历获取元素时进⾏判断更佳。在编写代码时,判断NullPointerException(简称NPE)⾮常重要。
数据准备如下:
nullpointerexception为什么异常List<Integer> list = new ArrayList<>();
list.add(1);
list.add(5);
list.add(13);
list.add(null);
list.stream().forEach(item -> System.out .String()));
那么在打印时会出现空指针异常。
1)第⼀种⽅式:使⽤ for 循环处理集合
把要处理的集合进⾏遍历,取出其中不为空的元素,添加到新的集合中,封装成⼀个⽅法:
public static <T> List<T> removeNull(List<? extends T> oldList) {
List<T> listTemp = new ArrayList();
for (T t : oldList) {
if (t != null) {
listTemp.add(t);
}
}
return listTemp;
}
这种⽅式较为简单,在遍历前调⽤此⽅法即可,但需要遍历元素删除NULL值
list = removeNull(list);
2)第⼀种⽅式:使⽤系统 api  Collections.singleton()
也是在遍历前直接删除NULL值
java.util.Collections.singleton()说明:java⾃带的⽅法,返回只包含特定对象的集合,集合size为1。也就是说,上述在删除NULL值时将NULL放⼊⼀个集合中,再使⽤removeAll⽅法删除其所有的NULL 值。