Sara vin:
Avoir une liste facultative de FACULTATIVE comme:
Optional<List<Optional<String>>> optionalList = Optional.of(
Arrays.asList(
Optional.empty(),
Optional.of("ONE"),
Optional.of("TWO")));
Comment traverser optionalList
pour imprimer les années de chaîne ONE
et TWO
?
Qu'en est-il d'avoir un flux optionnel de Optional?
Optional<Stream<Optional<String>>> optionalStream = Optional.of(
Stream.of(
Optional.empty(),
Optional.of("ONE"),
Optional.of("TWO")));
Mise à jour: Merci pour les réponses, solution pour optionalStream (non imbriquée):
optionalStream
.orElseGet(Stream::empty)
.filter(Optional::isPresent)
.map(Optional::get)
.forEach(System.out::println);
user7:
Tout d' abord, vérifier si le Optional
est présent. Si oui, alors la liste flux et filtrer les non vides et imprimer chacun d'eux.
optionalList.ifPresent(list -> list.stream()
.filter(Optional::isPresent)
.map(Optional::get)
.forEach(System.out::println));
La quasi-similaire pour le cas de flux trop
optionalStream.ifPresent(stream -> stream
.filter(Optional::isPresent)
.map(Optional::get)
.forEach(System.out::println));