1. 程式人生 > >Removing all Nulls from a List in Java

Removing all Nulls from a List in Java

注意移除null元素是修改List本身還是,生成新的List沒有null元素.

package com.sheting.basic.collection.list;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.PredicateUtils;

import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;

public
class RemoveNullsElement { public static void main(String[] args) { removeNullElement_1(); removeNullElement_2(); removeNullElement_3(); removeNullElement_4(); removeNullElement_5(); removeNullElement_6(); removeNullElement_7(); } // **** Remove nulls from a List Using Plain Java
public static void removeNullElement_1() { // UnsupportedOperationException // List<String> list = Arrays.asList(null, "china", null); List<String> list = new ArrayList<>(); list.add(null); list.add("china"); list.add(null); list
.removeAll(Collections.singleton(null)); System.out.println(list); // [china] } public static void removeNullElement_2() { List<String> list = new ArrayList<>(); list.add(null); list.add("china"); list.add(null); while (list.remove(null)) ; System.out.println(list); // [china] } // ****Remove nulls from a List Using Google Guava public static void removeNullElement_3() { List<String> list = Lists.newArrayList(null, "china", null); Iterables.removeIf(list, Predicates.isNull()); System.out.println(list); // [china] } public static void removeNullElement_4() { List<String> list = Lists.newArrayList(null, "china", null); List<String> listWithoutNulls = Lists.newArrayList(Iterables.filter(list, Predicates.notNull())); System.out.println(list); // [null, china, null] System.out.println(listWithoutNulls); // [china] } // **** Remove nulls from a List Using Apache Commons Collections public static void removeNullElement_5() { List<String> list = Lists.newArrayList(null, "china", null); CollectionUtils.filter(list, PredicateUtils.notNullPredicate()); System.out.println(list); // [china] } // ****Remove nulls from a List Using Lambdas (Java 8) public static void removeNullElement_6() { List<String> list = Lists.newArrayList(null, "china", null); List<String> listWithoutNulls = list.stream().filter(Objects::nonNull).collect(Collectors.toList()); System.out.println(listWithoutNulls); // [china] } public static void removeNullElement_7() { List<String> list = Lists.newArrayList(null, "china", null); list.removeIf(Objects::isNull); System.out.println(list); // [china] } }

output

[china]
[china]
[china]
[null, china, null]
[china]
[china]
[china]
[china]