【发布时间】:2021-11-19 19:49:26
【问题描述】:
我正在获取一个包含交货时间(无序)的 CSV 文件,我需要按时间对它们进行排序以使用数据。
我将必要的信息存储在我的 roadDataToBeSorted 数据结构中的 LinkedList 中,该结构由 3 个字符串组成:rdName、rdZipCode 和 rdDeliveryTime。到目前为止,我的研究表明要使用 LocalTime 类,因为我在 rdDeliveryTime 中的时间格式是 HH:MM:SS。
我不确定如何将字符串转换为 LocalTime 对象,然后我可以使用 .isBefore() 函数对数据进行排序。
for (int i = 0; i < stopOrderByDeliveryTime.size() - 1; i++) {
if (LocalTime(stopOrderByDeliveryTime.get(i).rdDeliveryTime).isBefore(LocalTime(stopOrderByDeliveryTime.get(i+1).rdDeliveryTime))) {
// add element at index (it is earlier than later elements)
} else {
// add element to end since it is later than all prior elements
}
}
【问题讨论】:
-
查看
LocalTime.parse。 -
不清楚你在问什么。你看过JavaDoc吗?你试过什么。
LocalTime.parse(CharSequence)似乎是主要候选人。顺便说一句,使用LinkedList几乎没有意义,ArrayList几乎总是性能更好,并且内存开销显着减少。 -
是的,我错过了解析函数,它解决了我的问题,并且我的 isBefore 方法按预期工作。并注意,我将切换到 Arraylists 并对此进行一些研究,谢谢!