Collectors maxBy(Comparator<? super T> comparator)
returns a Collector that produces the maximal element according to a given Comparator, described as an Optional<T>.
maxBy
has the following syntax.
public static <T> Collector<T,?,Optional<T>> maxBy(Comparator<? super T> comparator)
The following example shows how to use maxBy
.
import java.util.Comparator; import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; /*www . j a v a 2 s . c o m*/ public class Main { public static void main(String[] args) { Stream<String> s = Stream.of("1","2","3"); Optional<String> o = s.collect(Collectors.maxBy(Comparator.reverseOrder())); if(o.isPresent()){ System.out.println(o.get()); }else{ System.out.println("no value"); } } }
The code above generates the following result.