如何在 Kotlin 的 HashMap 中对时间的 Arraylist 项目进行分组?

Sir*_*mra 0 android hashmap kotlin

我需要将时间组合在一起,例如 02:10 PM,02:30 PM 应该在 02:00 PM - 03:00 PM 中分组。我得到 yyyy-MM-dd'T'HH:mm:ss.SSS+00:00 格式的所有时间。如何以 02:10 PM 格式将时间分组?

目前我将它们转换为 hh:mm aa 格式并得到列表,如何将它们分组在 Arraylists 中并最终将它们存储在 Map 中,以便我可以在 Recyclerview 中列出时间?

hot*_*key 5

尝试这样的事情(给定items存储在 中的时间值timeString):

val format = SimpleDateFormat("hh:mm aa")
val calendar = GregorianCalendar.getInstance()

val groups = items.groupBy { item ->
    val date = format.parse(item.timeString)
    calendar.setTime(date)
    calendar.get(Calendar.HOUR_OF_DAY)
}
Run Code Online (Sandbox Code Playgroud)

(可运行的演示)

看: