我有一个特定的文本文件,其中包含每个相应字段的数据,即应用程序ID,用户,类型,队列和start_time。我希望输出在start_time上排序,并显示所有运行超过24小时的application_ids。
示例如下:
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.
我希望结果在start_times上排序。
排序后,结果如下:
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.
我可以对start_times进行排序并将其放入列表中。但是如何显示上面的输出,作为排序后每个列更改的输出。
我希望输出在start_time上排序,并显示所有运行超过24小时的application_ids。 这是我的代码:
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);
对此的任何帮助将不胜感激。
答案 0 :(得分:0)
您可以创建一个表示文件中记录的类。解析记录并创建记录列表。通过将自定义比较器传递给Collections.sort(列表,比较器),为自定义排序logic.Sort列表编写自己的比较器。