max<T extends Comparable<Object>> function

T? max<T extends Comparable<Object>>(
  1. Iterable<T> iterable
)

Returns the maximum value in the given iterable. Returns null if the iterable is empty.

Implementation

T? max<T extends Comparable<Object>>(Iterable<T> iterable) {
  final iterator = iterable.iterator;
  if (!iterator.moveNext()) return null;

  T maxValue = iterator.current;
  while (iterator.moveNext()) {
    if (iterator.current.compareTo(maxValue) > 0) {
      maxValue = iterator.current;
    }
  }
  return maxValue;
}