Java 8 - отфильтровать нулевое значение из потока
ПросмотритеStream
, содержащий значенияnull
.
Java8Examples.java
package com.example.java8; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class Java8Examples { public static void main(String[] args) { Streamlanguage = Stream.of("java", "python", "node", null, "ruby", null, "php"); List result = language.collect(Collectors.toList()); result.forEach(System.out::println); } }
выход
java python node null // Solution To solve it, uses Stream.filter(x -> x!=null) Java8Examples.java package com.example.java8; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class Java8Examples { public static void main(String[] args) { Streamlanguage = Stream.of("java", "python", "node", null, "ruby", null, "php"); //List result = language.collect(Collectors.toList()); List result = language.filter(x -> x!=null).collect(Collectors.toList()); result.forEach(System.out::println); } }
выход
java python node ruby php
В качестве альтернативы можно использовать фильтрObjects::nonNull
import java.util.List; Listresult = language.filter(Objects::nonNull).collect(Collectors.toList());