Java 根据开始时间对文件内容进行排序
我有一个特定的文本文件,其中包含各个字段的数据,即应用程序ID、用户、类型、队列和开始时间。我希望在开始时对输出进行排序,并显示所有运行超过24小时的应用程序ID 示例eg如下所示:Java 根据开始时间对文件内容进行排序,java,date,arraylist,Java,Date,Arraylist,我有一个特定的文本文件,其中包含各个字段的数据,即应用程序ID、用户、类型、队列和开始时间。我希望在开始时对输出进行排序,并显示所有运行超过24小时的应用程序ID 示例eg如下所示: ApplicationID User Type Queue start_time appln_id_1 abcdef MAPREDUCE abc Wed Jan20 2015:59:06+0550 2016 appln_id_2 deghif TEZ
ApplicationID User Type Queue start_time
appln_id_1 abcdef MAPREDUCE abc Wed Jan20 2015:59:06+0550 2016
appln_id_2 deghif TEZ def Tue Jan19 2015:08:16+0550 2016
appln_id_3 deghdf TEZ def Sun Jan17 2015:04:02+0550 2016
appln_id_4 dghkif MAPREDUCE ghi Mon Jan18 2015:15:26+0550 2016.
我希望结果按开始时间排序
排序后,结果应如下所示:
ApplicationID User Type Queue start_time
appln_id_3 deghdf TEZ def Sun Jan17 2015:04:02+0550 2016
appln_id_4 dghkif MAPREDUCE ghi Mon Jan18 2015:15:26+0550 2016
appln_id_2 deghif TEZ def Tue Jan19 2015:08:16+0550 2016
appln_id_1 abcdef MAPREDUCE abc Wed Jan20 2015:59:06+0550 2016.
我可以对开始时间进行排序,并将其放入列表中。但是如何如上所述显示输出,因为每个列的输出在排序后都会发生变化
我希望在开始时对输出进行排序,并显示所有运行超过24小时的应用程序ID。
这是我的密码:
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
DateFormat targetFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = sdf.parse(start_time);
String formattedDate = targetFormat.format(date);
System.out.println("date is"+formattedDate);
list1.add(formattedDate);
System.out.println("list is"+list1);
Collections.sort(list1);
System.out.println("sorted list"+list1);
在此方面的任何帮助都将不胜感激。您可以创建一个表示文件中记录的类。解析记录并创建记录列表。为自定义排序逻辑编写自己的比较器。通过将自定义比较器传递给Collections.sort(list,comparator),对列表进行排序 我对示例数据中UTC的偏移量
+0550
感到困惑。我找不到偏移量为+05:50
。