maxByOrNull<R extends Comparable> method
E?
maxByOrNull<R extends Comparable>(
- R selector(
- E element
Returns the first element yielding the largest value of the given
selector
or null if there are no elements.
Implementation
E? maxByOrNull<R extends Comparable>(R Function(E element) selector) {
if (isEmpty) return null;
final iterator = this.iterator..moveNext();
E maxElement = iterator.current;
R maxValue = selector(maxElement);
while (iterator.moveNext()) {
final current = iterator.current;
final value = selector(current);
if (maxValue.compareTo(value) < 0) {
maxElement = current;
maxValue = value;
}
}
return maxElement;
}