How to sort dates of type string in java
我正在构建一个Android项目,其中存储了一些细节,其中包括日期作为字符串,但现在我需要按日期对列表视图进行排序。我对如何做到这一点感到困惑。我已经完成了所有工作,但需要对列表进行排序 按日期。
这是如何存储数据的概述。
我有一个类型为Person的arraylist
Person类包含几个变量,但我将限制为三个
1)名称
2)记录创建(日期)
3)地址
然后将其添加到Person中,如personDetails.add(Person Object)。
请指导我如何按日期对列表进行排序。
谢谢你的时间。
或者,如果您不想在Person类中实现Comparable接口,请执行以下操作:
1 2 3 4 5 6 7 8 9 10 | List<Personne> personDetails = new ArrayList<Personne>(); Collections.sort(personDetails, new Comparator<Personne>() { public int compare(Person o1, Person o2) { SimpleDateFormat sdf = new SimpleDateFormat("YOUR-DATE-PATTERN"); Date d1 = sdf.parse(o1.getDateAsString()); Date d2 = sdf.parse(o2.getDateAsString()); return d1.compareTo(d2); } }); |
在您的
1 2 3 4 5 6 7 | public class Person implements Comparable<Person> { public int compareTo(Person person) { SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd"); return sdf.parse(this.dateString).compareTo(sdf.parse(person.dateString)); } } |
将
您可以在类
1 2 3 4 5 6 | public class Person implements Comparable<Person>{ public int compareTo(Person comparePerson) { //logic here } } |
然后只需致电:
1 |
好的教程:http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/