List 集合去除 null 元素
虽然List集合在正常使用过程中不会添加NULL值作为元素,但为了代码的健壮性,在遍历获取元素时进行判断更佳。在编写代码时,判断NullPointerException(简称NPE)非常重要。
数据准备如下:
List<Integer> list = new ArrayList<>(); list.add(1); list.add(5); list.add(13); list.add(null); list.stream().forEach(item -> System.out.println(item.toString()));
那么在打印时会出现空指针异常。
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值
list.removeAll(Collections.singleton(null));
java.util.Collections.singleton()说明:java自带的方法,返回只包含特定对象的集合,集合size为1。也就是说,上述在删除NULL值时将NULL放入一个集合中,再使用removeAll方法删除其所有的NULL值。
就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !