Kotlin sort hashmap in descending order
我有
预期结果:
1 2 3 | 22-06-2018 : [] 21-06-2018 : [] 20-06-2018 : [] |
我使用此代码对其进行排序,但结果按升序排列:
1 | val sortedMap = myHashMap.toSortedMap(compareBy { it }) |
号
您可以使用
1 | val sortedMap = myHashMap.toSortedMap(compareByDescending { it }) |
按升序排列得到结果的原因是(根据您提供的值),所有日期的月份均为6,年份均为2018。
如果有不同的日期,那么如果只是执行
考虑这些日期:2018年5月21日,2018年4月22日。
如果按降序排序,您将获得2018年4月22日的第一个数据!< BR>您需要做的是转换YY-MM-DD中的日期,然后按降序排序:
1 2 3 4 5 6 | fun convertDate(d: String): String { val array = d.split("-") return array[2] + array[1] + array[0] } val sortedMap = myHashMap.toSortedMap(compareByDescending { convertDate(it) }) |
号
还有一件事:你的日期必须有2位数字代表月和日,4位数字代表年,2-5-2018这样的日期会给出错误的结果。
最后一次编辑:不需要串联中的