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, чей ключ является идентификатором, а значение – это элементы с этим идентификатором

Solutions Collecting From Web of "Kotlin sortBy на TreeMap"

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

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