This question already has answers here:
Sort months ( with strings ) algorithm
(10个回答)
6年前关闭。
我想对月份名称进行排序。我尝试了以下方法:
输出:
但是我想要按以下顺序输出:
(10个回答)
6年前关闭。
我想对月份名称进行排序。我尝试了以下方法:
import java.util.SortedSet;
import java.util.TreeSet;
public class SortingMonth {
public static void main(String[] args) {
SortedSet<String> monthSet = new TreeSet<String>();
monthSet.add("Feb");
monthSet.add("Jan");
monthSet.add("Mar");
monthSet.add("Dec");
monthSet.add("Aug");
for(String value:monthSet){
System.out.println(value);
}
}
}
输出:
Aug
Dec
Feb
Jan
Mar
但是我想要按以下顺序输出:
Jan
Feb
Mar
Aug
Dec
最佳答案
可能是您可以尝试以下不同方法。 Best efficient way to sort Months and Year in Java
List<String> abc = new ArrayList<String>();
List<Date> xyz = new ArrayList<Date>();
abc.add("JAN-2010");
abc.add("JAN-2011");
abc.add("APR-2013");
abc.add("NOV-2009");
try {
for (String abc1 : abc) {
Date date;
date = new SimpleDateFormat("MMM-yyyy", Locale.ENGLISH)
.parse(abc1);
xyz.add(date);
}
Collections.sort(xyz, new Comparator<Date>() {
public int compare(Date arg0, Date arg1) {
// return arg0.getDate().compareTo(o2.getDate());
return arg0.compareTo(arg1);
}
});
for (Date date1 : xyz) {
System.out.println("Sorted : " + date1);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
08-28 23:04