Android 使用日期格式化程序的帮助对日期进行排序
我有一个问题,我想在java中的日期格式化程序的帮助下,对格式为2011-07-18T10:39:31.855Z的日期字符串数组列表进行排序。但我不知道怎么做?有谁能告诉我如何使用带有自定义格式的日期格式化程序对数据进行排序 请帮我解决这个问题Android 使用日期格式化程序的帮助对日期进行排序,android,Android,我有一个问题,我想在java中的日期格式化程序的帮助下,对格式为2011-07-18T10:39:31.855Z的日期字符串数组列表进行排序。但我不知道怎么做?有谁能告诉我如何使用带有自定义格式的日期格式化程序对数据进行排序 请帮我解决这个问题 提前感谢。既然您在问题中提到您已经有了一个数组列表的字符串,,并且您显示这些字符串都是已格式化的日期,那么您的任务非常简单:只需按原样排序数组列表 就是这样 来自维基百科: 日期和时间值按从最重要到最不重要的顺序排列:年、月(或周)、日、小时、分钟、秒和
提前感谢。既然您在问题中提到您已经有了一个
数组列表
的字符串
,,并且您显示这些字符串都是已格式化的日期,那么您的任务非常简单:只需按原样排序数组列表
就是这样
来自维基百科:
日期和时间值按从最重要到最不重要的顺序排列:年、月(或周)、日、小时、分钟、秒和秒的分数。因此,除了涉及负年份的日期表示外,表示的词典顺序与时间顺序相对应。这允许按文件系统等自然方式对日期进行排序
更详细地说:
List<String> dateStrings = Arrays.asList(
"2011-07-18T10:39:31.855Z",
"2012-09-18T10:19:31.855Z",
"2011-07-18T10:39:31.055Z",
"1903-12-01T00:39:31Z",
);
Arrays.sort(dateStrings);
// now dateStrings is sorted by date.
List dateStrings=Arrays.asList(
“2011-07-18T10:39:31.855Z”,
“2012-09-18T10:19:31.855Z”,
“2011-07-18T10:39:31.055Z”,
“1903-12-01T00:39:31Z”,
);
Arrays.sort(日期字符串);
//现在,日期字符串按日期排序。
同样,这里的想法是,您不必将字符串转换为日期来进行排序
另外,如果您的列表包含实际的Date
对象,您也可以调用Arrays.sort
,您的列表也会得到正确的排序,因为在Java中日期是可比较的。但是你的问题是关于字符串的,并且是ISO8601中的字符串,所以如果这是你问题的一个重要部分,你最好利用格式的优势。TL;DR排序不需要日期格式。只需将所有日期的格式设置为排序合理的格式:例如,先是年份,然后是两位数的月份,等等。格式字符串示例:“yyyy-MM-dd hh:MM:ss”
然后只需对字符串进行排序,例如使用树集。您可以使用这种类型的排序
ArrayList arrayList = new ArrayList();
//Add elements to Arraylist
arrayList.add("1"); //1->> you can add you data format by function or static
arrayList.add("3");
arrayList.add("5");
arrayList.add("2");
arrayList.add("4");
/*
To sort an ArrayList object, use Collection.sort method. This is a
static method. It sorts an ArrayList object's elements into ascending order.
*/
Collections.sort(arrayList);
//display elements of ArrayList
System.out.println("ArrayList elements after sorting in ascending order : ");
for(int i=0; i<arrayList.size(); i++)
System.out.println(arrayList.get(i));
ArrayList ArrayList=new ArrayList();
//向Arraylist添加元素
arrayList.添加(“1”)//1->>您可以按函数或静态添加数据格式
arrayList.添加(“3”);
arrayList.添加(“5”);
arrayList.添加(“2”);
arrayList.添加(“4”);
/*
要对ArrayList对象进行排序,请使用Collection.sort方法。这是一个
静态方法。它将ArrayList对象的元素按升序排序。
*/
Collections.sort(arrayList);
//ArrayList的显示元素
System.out.println(“按升序排序后的ArrayList元素:”);
对于(int i=0;i和,您能告诉我如何使用TreeSet进行排序吗?嗯,TreeSet保持数据的排序顺序。因此,如果您有一个字符串的TreeSet,并且您遍历它的元素,它们将按排序顺序出现。为我的答案添加了链接和更多描述。