maxBy<K extends Comparable> method

T? maxBy<K extends Comparable>(
  1. K selector(
    1. T element
    )
)

Returns the element that yields the highest value based on the given selector.

Implementation

T? maxBy<K extends Comparable>(K Function(T element) selector) {
  if (isEmpty) return null;

  T? maxElement;
  K? maxKey;

  for (final element in this) {
    final key = selector(element);
    if ((maxKey == null || key.compareTo(maxKey) > 0)) {
      maxElement = element;
      maxKey = key;
    }
  }
  return maxElement;
}