java list移除null元素


list<integer> ls = new ArrayList<integer>();
list.add(1);
list.add(2);
list.add(null);
list.add(3);
list.add(null);
list.add(4);

如果只需移除第一個null, 那么直接

  ls.remove(null);

如果要全部移除,可以這樣

  list<integer> e = new ArrayList<integer>(1);

  e.add(null);

  ls.removeAll(e);

這樣做如果list元素類型不是integer,那么要改為相應類型。這樣比較麻煩,可以寫成一個Utils,但是還有一個更加簡便的方法。

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

Java 8或更高版本

Java 8或更高版本,從List列表中刪除null的方法非常直觀且優雅:

@Test
public removeNull() {
    List<String> list = new ArrayList<>(Arrays.asList("A", null, "B", null));
    list.removeIf(Objects::isNull);
  
System.out.println(list)
 }

我們可以簡單地使用removeIf()構造來刪除所有空值。

如果我們不想更改現有列表,而是返回一個包含所有非空值的新列表,則可以:

@Test
public removeNull() {
 
    List<String> list = new ArrayList<>(Arrays.asList("A", null, "B", null));
 
    List<String> newList = list.stream().filter(Objects::nonNull).collect(Collectors.toList());
   System.out.println(newList)
    System.out.println(list)
}

 


免責聲明!

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



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