如何在kotlin中使用相同列表进行排序和分组



我有一个列表,其中有一个有标题的元素,我使用groupBy将所有列表元素按一个标题分组,这很好,但现在我还想按hasDisscount为true的元素排序,因为我希望这些元素在列表中首先显示

fun setItems(listProduct: MutableList<Product>) {
listProduct.sortBy { it.hasDisscount }
listProduct.groupBy({ it.productTypeName }, { product -> product
}).iterator().forEach {
uiItems.add(it.key)
for (product in it.value) {
uiItems.add(product)
}
}
notifyDataSetChanged()
}

现在,我试着在分组之前先用hasDisscount为true的元素对列表进行排序,但不起作用,我的disscount元素显示在我的列表的底部

有什么建议吗?

通过添加修复

listProduct.sortByDescending { it.hasDisscount }

相关内容

  • 没有找到相关文章

最新更新