【发布时间】:2013-05-08 14:58:29
【问题描述】:
我有一个String 数组:
String[] str = {"ab" , "fog", "dog", "car", "bed"};
Arrays.sort(str);
System.out.println(Arrays.toString(str));
如果我使用Arrays.sort,则输出为:
[ab, bed, car, dog, fog]
但我需要实现以下排序:
FCBWHJLOAQUXMPVINTKGZERDYS
我想我需要实现Comparator并覆盖compare方法:
Arrays.sort(str, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return 0;
}
});
我应该如何解决这个问题?
【问题讨论】:
-
首先,如果您的项目总是一个字符的长度,您应该考虑使用字符数组。使用字符串会强制进行更多的错误检查。
-
@DuncanJones 不,他们不是,这只是一个例子。我改变了它们。谢谢
-
@Sam:所以字符串中的每个单独字符都需要按顺序排序,然后应用“正常”字符串规则? “AA”相对于“A”是如何排序的?还是相对于“FB”的“FC”?
-
@JoachimSauer 我不知道我是否理解正确。但顺序应该是:"FC","FB","A","AA"