Розбираємося, як сортувати колекції в Kotlin, коли ключ може бути
null: навіщо сортуванню потрібен явний контракт «
null на початку / у кінці», як використовувати Elvis-оператор
?: із безпечними значеннями за замовчуванням (
sortedBy,
sortedByDescending), чому «магічні числа» на кшталт
Int
.
MAX_VALUE можуть бути небезпечними, і коли краще застосувати розбиття даних (
filterNotNull(), підрахунок
null, split + merge). Усе — на прикладі звіту про витрати в умовному застосунку BudgetBuddy.