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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM