sorting - Kotlin 在 Map 上自定义排序
问题描述
我有这个对象 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 的顺序打印。
我应该如何实现这一目标?
解决方案
推荐阅读
- mongodb - 在MongoDB中按数组排序时忽略空值
- angular - html中的角度通配符字符串比较
- css - 如何在 div 旁边显示 ngx-timepicker-field timepicker,而不是将其显示为弹出窗口
- c# - 如何在具有多个 IP 地址的服务器上从特定源 IP 地址发出 HTTP 请求?
- excel - 使用 Sheets.delete 时 Excel VBA 索引超出范围
- ios - 如何将字符串转换为字典 iOS Objective C
- python - 尝试使用 PythonAnyWhere 部署 Web Flask 应用程序时出现 WSGI 错误
- javascript - 如何在javascript中添加延迟
- django - 如何用 django 建立会话形式?
- javascript - Word Web-Addin:getSliceAsync() 只返回第一片数据