You can do it as follows:
List<Integer> l = Arrays.asList(10, 20, 30, 40, 50, 60)
.stream()
.filter( (i) -> i<23 )
.collect(Collectors.toList());
System.out.println( l.get( l.size() - 1 ) );
You filter out all elements in excess 23and you print the last of the remaining elements.
It would be simpler with the help of the function dropWhilethat we have in Java 9, Scala and Haskell:
https://docs.oracle.com/javase/9/docs/api/java/util/stream/Stream.html#dropWhile-java.util.function.Predicate-
Holger
Stream<Integer> stream = Arrays.asList(10, 20, 30, 40, 50, 60).stream();
stream.filter( i -> i<23 )
.reduce( (a,b) -> b )
.ifPresent(System.out::println);
lambda (a,b) -> b, , ifPresent, .