【发布时间】:2013-03-13 15:14:15
【问题描述】:
我有一个字符串值列表。我使用比较器按以下特定顺序对它们进行排序
public static final List<String> CUSTOM_LIST = Arrays.asList("Red", "Green", "Blue");
comparator = new Comparator<String>(){
@Override
public int compare(final String o1, final String o2){
return Integer.valueOf(CUSTOM_LIST.indexOf(o1))
.compareTo(Integer.valueOf(CUSTOM_LIST.indexOf(o2)));
}
};
所以比较一下
Collections.sort(listToSort,comparator);
或者逆向排序
Collections.sort(listToSort,Collections.reverseOrder(comparator));
现在我的列表有空值,我希望它们总是在最后。我如何做到这一点?
【问题讨论】:
-
是空值等于“”还是为空?还是两者兼而有之?
-
我只有“”。没有空
-
使用两个不同的比较器,而不是
reverseOrder()。
标签: java sorting comparator