Collectors maxBy(Comparator comparator) example

Description

Collectors maxBy(Comparator<? super T> comparator) returns a Collector that produces the maximal element according to a given Comparator, described as an Optional<T>.

Syntax

maxBy has the following syntax.


public static <T> Collector<T,?,Optional<T>> maxBy(Comparator<? super T> comparator)

Example

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;
/*from  ww w.  j  a va 2  s  .co 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.





















Home »
  Java Streams »
    Reference »




Collectors
DoubleStream
DoubleStream.Builder
IntStream
IntStream.Builder
LongStream
LongStream.Builder
Stream
Stream.Builder