Intereting Posts
Как я могу разделить последовательность целых чисел на диапазоны (java \ kotlin) Переключение контекста kotlin coroutine при тестировании Android-презентатора Обновление представления Recycler и создание Parcelables для вращения экрана (что здесь лучше всего подходит?) RecyclerView – правильно внедрить удаление UNDO SnackBar (Kotlin) Анимационный набор, эффект встряхивания Частичное обновление REST в Spring Boot и Kotlin Сериализация KMongo BSONTimestamp Kotlin: Создайте регулярный массив, как в Java В Kotlin, как я могу создать экземпляр класса с использованием собственного параметра java? Kotlin – lateinit TestRestTemplate не инициализирует интеграционные тесты Список загрузки ConfigurationProperties из YML Метод Kotlin inline не видим, если не расширять класс Комната с кинжалом в Котлине: Дао имеет значение null, при введении в класс предупреждение о прерывании kotlin, устаревшее для android Переключатель мертвеца в Котлине

Kotlin sortBy на TreeMap

Что такое способ Котлина:

public static TreeMap<Integer, ArrayList<HomeItem>> getHomeItemListsSeparatedByPageId(List<HomeItem> homeItemsList) { if (homeItemsList.size() == 0) { return new TreeMap<>(); } TreeMap<Integer, ArrayList<HomeItem>> map = new TreeMap<>(); for (HomeItem hl : homeItemsList) { if (map.get(hl.getVisiblePageId()) == null) { map.put(hl.getVisiblePageId(), new ArrayList<>()); } map.get(hl.getVisiblePageId()).add(hl); } return map; } 

Я попытался применить groupBy в моем списке аргументов, но он возвращает HashMap.

EDIT: В принципе, запрашивается исходный список, и он сгруппирован по visiblePageId и добавлен в treemap, чей ключ является идентификатором, а значение – это элементы с этим идентификатором

Вы можете использовать метод groupByTo и передать экземпляр TreeMap в качестве первого аргумента.

 fun getHomeItemListsSeparatedByPageId(homeItems: List<HomeItem>) = homeItems.groupByTo(TreeMap()) { it.visiblePageId }