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)

강의

minBymaxBy의 거울상입니다. 단 한 번의 O(n) 순회로 가장 작은 키를 가진 원소를 반환합니다. sortBy(key).head()라면 값 하나를 읽으려고 파이프라인 전체를 정렬할 것입니다.

동작 규약은 maxBy와 정확히 일치합니다. 키는 sortBy처럼 (Comparable.compare) 비교되고, 동점일 때는 먼저 만난 원소를 유지하며, 빈 파이프라인은 null을 반환합니다 — infinity가 아닙니다. 숫자용 min이 하는 일이 그것이죠. 되돌아갈 "영 원소"가 없기 때문입니다.

데모 1 · 기본 사용법, 빈 경우 & 동점

데모 2 · 비동기

직접 해 보기

연습: 가장 빠른 주자를 한 번의 호출로 찾아보세요.

관련 항목: maxBy — 거울상 · min — 원소가 아니라 키 자체가 필요할 때 · head — 같은 널 허용 규약