minBy
키가 가장 작은 원소 — 한 번의 순회, 정렬 없이, 비어 있으면 null입니다.
A? minBy<A>(Object? Function(A a) f, Iterable<A> iterable)
Future<A?> minByAsync<A>(Object? Function(A a) f, FxAsyncIterable<A> iterable)
T? Fx<T>.minBy(Object? Function(T a) f) // chain (sync)
Future<T?> FxAsync<T>.minBy(Object? Function(T a) f) // chain (async)
강의
minBy는 maxBy의
거울상입니다. 단 한 번의 O(n) 순회로 가장 작은 키를 가진
원소를 반환합니다. sortBy(key).head()라면
값 하나를 읽으려고 파이프라인 전체를 정렬할 것입니다.
동작 규약은 maxBy와 정확히 일치합니다. 키는
sortBy처럼
(Comparable.compare) 비교되고, 동점일 때는 먼저 만난
첫 원소를 유지하며, 빈 파이프라인은
null을 반환합니다 — infinity가 아닙니다.
숫자용 min이 하는 일이 그것이죠.
되돌아갈 "영 원소"가 없기 때문입니다.
데모 1 · 기본 사용법, 빈 경우 & 동점
데모 2 · 비동기
직접 해 보기
연습: 가장 빠른 주자를 한 번의 호출로 찾아보세요.