【发布时间】:2014-04-09 09:36:34
【问题描述】:
public static void main(String[] args) {
// TODO Auto-generated method stub
sortDates(Arrays.asList(new DAY[]{DAY.MON,DAY.WED,DAY.TUE,DAY.THU,DAY.SUN,DAY.SAT,DAY.FRI}));
}
public static void sortDates(List<DAY> dayList){
Set<DAY> set = new TreeSet<DAY>(dayList);
for(DAY day : set)
{
System.out.println(day);
}
}
public enum DAY {
MON("MONDAY"),TUE("TUESDAY"),WED("WEDNESDAY"),THU("THURSDAY"),FRI("FRIDAY"),SAT("SATURDAY"),SUN("SUNDAY");
private String m_name;
DAY(String name) {
m_name=name;
}
}
这段代码的输出是: 星期一 周二 星期三 周四 周五 SAT 孙
但我希望输出是这样的 太阳 星期一 周二 星期三 周四 周五 SAT
这意味着我想自定义排序功能以将星期日移动到第一个。
我该怎么做?提前致谢。
【问题讨论】:
-
你能把它定义为树形图并将键分配为可排序字段吗?
-
出于好奇:你为什么跳过星期五? hack:重新排序您枚举DAY中的天数声明相应地猜测解决方案:提供自定义
Comparator<DAY>并使用Collections.sort(dayList, yourCustomComparator) -
对不起,我错过了星期五的错误,我已经编辑了我的问题
标签: java sorting data-structures enums enumeration