Skip to content

mtumilowicz/java-converting-optionals-list

Repository files navigation

Build Status

java-converting-optionals-list

Three approaches to Optionals list conversion (using streams).

prior java 9

  • filter + map
    dataStream()
        .filter(Optional::isPresent)
        .map(Optional::get)
    
  • flatMap
    dataStream()
        .flatMap(x -> x.map(Stream::of).orElseGet(Stream::empty))
    

java 9

  • flatMap + Optional as a stream
    dataStream()
        .flatMap(Optional::stream)
    

Remark: Internally Optional::stream is implemented:

public Stream<T> stream() {
    if (!isPresent()) {
        return Stream.empty();
    } else {
        return Stream.of(value);
    }
}    

tests

Fully tested in OptionalListConversionTest.

About

Three approaches to Optional list conversion (using streams).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages