Understanding the FindAny Method

Learn how to use the findAny method in java.util.Stream. This returns an Optional describing an element, or an empty Optional if Stream is empty.

Also, remember that the same stream cannot be operated upon with multiple methods after a complete iteration.

import java.util.Optional;import java.util.stream.Stream;public class StreamsFindAny {   public static void main(String[] args)    {      StreamsFindAny streamsFindAny = new StreamsFindAny();      streamsFindAny.proceed();   }   public void proceed()    {      Stream stream = Stream.of("1","5","10");      Optional findAnyOutput = stream.findAny();      System.out.println("FindAny output: " + findAnyOutput);      //If you fail to reinitialize the stream again (as below), you will end up in an Exception case since the stream has already been operated in the previous lines.      //Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed      stream = Stream.of("1","5","10");      long streamCount = stream.count();      System.out.println("Count of elements in stream: " + streamCount);   }}/*

Expected output:

[[email protected]]# java StreamsFindAnyFindAny output: Optional[1]Count of elements in stream: 3*/
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: