I have arraylist having document No and created Date, the date format in String. I have to sort the arrayList with latest created date. Thanks in advance.
Date(String) format: 1/1/2015
I have arraylist having document No and created Date, the date format in String. I have to sort the arrayList with latest created date. Thanks in advance.
Date(String) format: 1/1/2015
There are plenty of StackOverflow answers that can already help you. For instance:
I'd also recommend you'd look into Collections.sort
(and implementing Comparator
).
You must use Collections.sort() method and pass the list as argument. The list will be ordered according to the natural ordering of its element. You can have more info here: http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html
public static void main(String[] args) {
List dateList = new ArrayList();
dateList.add(convertToString("1/1/2015"));
dateList.add(convertToString("2/1/2015"));
dateList.add(convertToString("1/2/2015"));
dateList.add(convertToString("3/1/2015"));
dateList.add(convertToString("1/4/2015"));
dateList.add(convertToString("4/1/2015"));
dateList.add(convertToString("2/2/2015"));
dateList.add(convertToString("2/4/2015"));
dateList.add(convertToString("4/4/2015"));
Collections.sort(dateList);
System.out.println(dateList);
}
public static String convertToString(String dateInString){
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date date = null;
try {
date = formatter.parse(dateInString);
} catch (ParseException e) {
e.printStackTrace();
}
return formatter.format(date);
}
please have a look at the above code, I think it should solve your issue.
This is a very easy way of implementing it, using apache-commons DateUtils
.
List<String> dates = new ArrayList<String>();
dates.add("3/1/2015");
dates.add("1/4/2015");
dates.add("1/1/2015");
final String[] formats = new String[] { "dd/MM/yyyy" };
Collections.sort(dates, new Comparator<String>() {
@Override
public int compare(String d1, String d2) {
try {
Date date1 = DateUtils.parseDate(d1, formats);
Date date2 = DateUtils.parseDate(d2, formats);
return date1.compareTo(date2);
} catch (ParseException e) {
// do something to treat this error
return 1;
}
}
});