我有这个对象 Map<String, List> 的地图。它来自后端,我想在 Key 上对其进行排序。
关键将是以下任何一个:支票,储蓄,信用,贷款。
我想按此顺序对地图进行排序。
这是我的代码,它没有按预期工作。
private val productType: Comparator<in String> = compareBy { name ->
productSortedOrder.indexOf(AccountProductEnum.safeValueOf(name))
}
private val productSortedOrder = arrayOf(AccountProductEnum.CHECKING,
AccountProductEnum.SAVINGS,
AccountProductEnum.CREDIT,
AccountProductEnum.LOAN)
这是我对地图进行排序的方式:
accountList.groupBy { account -> account.product.name }
.toSortedMap(productType)
使用这个逻辑,它按 CREDIT、CHECKING、LOAN、SAVINGS 的顺序打印,我想要按 CHECKING、SAVINGS、CREDIT、LOAN 的顺序打印。
我应该如何实现这一目标?