TreeMap 上的 Kotlin sortBy
Kotlin sortBy on TreeMap
kotlin 的实现方式是什么:
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;
}
我尝试在我的 args 列表上应用 groupBy,但它 returns 一个 HashMap。
编辑:基本上,原始列表被查询,并按visiblePageId
分组,并添加到树图中,其键是id,值是具有该id的项目
您可以使用 groupByTo method 并传递一个 TreeMap
实例作为第一个参数。
fun getHomeItemListsSeparatedByPageId(homeItems: List<HomeItem>) =
homeItems.groupByTo(TreeMap()) { it.visiblePageId }
kotlin 的实现方式是什么:
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;
}
我尝试在我的 args 列表上应用 groupBy,但它 returns 一个 HashMap。
编辑:基本上,原始列表被查询,并按visiblePageId
分组,并添加到树图中,其键是id,值是具有该id的项目
您可以使用 groupByTo method 并传递一个 TreeMap
实例作为第一个参数。
fun getHomeItemListsSeparatedByPageId(homeItems: List<HomeItem>) =
homeItems.groupByTo(TreeMap()) { it.visiblePageId }