Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 根据开始时间对文件内容进行排序_Java_Date_Arraylist - Fatal编程技术网

Java 根据开始时间对文件内容进行排序

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

我有一个特定的文本文件,其中包含各个字段的数据,即应用程序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         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