List 集合去除 null 元素

本文共 1,023 字,预计阅读时间 3 分钟

虽然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值。

posted @   钟小嘿  阅读(8818)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示