【发布时间】:2021-07-25 09:15:49
【问题描述】:
我在 java 中有一个列表,其中包含字符串 id;city;date;days;price;vehicle 行。我需要按日期对所有内容进行排序。(它来自我阅读的 csv 文件) 我的清单:
List <Ticket> list = new LinkedList<Ticket>();
以及它的定义方式:
class Ticket {
int id;
String city;
String date;
int days;
float price;
String vehicle;
Ticket(int i, String c, String y, int d, float p, String v) {
id = i;
city = c;
date = y;
days = d;
price = p;
vehicle = v;
}
我正在尝试冒泡排序,但我不知道如何比较日期,并且我发现的所有示例都有 ArrayList 或正在比较少量日期。如果这是一个不好的问题,我很抱歉,我只是不知道如何将我发现的所有内容应用到我的情况中。
【问题讨论】:
-
您已将
date定义为String。这将 100% 有效,如果您的date存储在 iso8601 中。不幸的是,您尚未与我们分享该信息。另外,你可以使用内置的排序功能吗? -
@ElliottFrisch 是的,我可以使用内置功能。我很抱歉,但我不知道什么是 iso8601。但我想我的日期不是这样排序的,它总是字符串,它的输入是 dd/mm/yyyy
-
使用 LocalDate 作为下面的建议并命名您的构造函数变量通常不是 i,c,y,d... 当您在 IDE 中使用该类时,如果您使用描述性名称命名参数,它会为您提供文档.一个字母参数是坏习惯... ISO 8601 date : 2004-02-09 字符串排序可以工作,但如果你使用不同的语言环境,它会变得混乱。