首页 > 编程语言 > 详细

java list移除null元素

时间:2021-04-25 14:08:02      阅读:10      评论:0      收藏:0      [点我收藏+]
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)
}

 

java list移除null元素

原文:https://www.cnblogs.com/lyh233/p/14699766.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!