gpt4 book ai didi

android - 在 Kotlin 中以毫秒为单位对 LinkedHashMap 日期进行排序

转载 作者:行者123 更新时间:2023-11-30 05:07:30 25 4
gpt4 key购买 nike

这是我正在做的对 LinkedHashMap<String,ArrayList<Image>> 进行排序的操作

val sorted = mediumGroups.toSortedMap(if (sortDescending) compareByDescending { it } else compareBy { it })

LinkedHashMap中的字符串是currentTimeMillis中的日期

我遇到的问题是日期早于 1000000000000

Sat 8 September 2001 21:46:40

这些日期少了 1 个数字,因此它将它们排在最前面。

有没有一种方法可以正确排序,而不必将我的 LinkedHashMap 转换为 Int 而不是 String?

最佳答案

正如@GabeSechan 指出的那样,您无法正确比较字符串表示形式中的数字,性能方面最好的方法是最初将时间戳存储为 Long 然后默认比较器将起作用,并且它将比较 Long 而不是 String 更有效。如果您想要最简单的解决方案,只需使用 it.toLong()

mediumGroups.toSortedMap(if (sortDescending) compareByDescending { it.toLong() } else compareBy { it.toLong() })

关于android - 在 Kotlin 中以毫秒为单位对 LinkedHashMap 日期进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54315995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com