我知道ascii排序在java中很容易使用collections.sort等内置方法,使用coparator和comparable接口,但我想知道有没有按标准字母顺序排序的简单方法
使用ascii排序的输出为:“2012010”、“2012011”、“2012012”、“201201a”
使用标准字母顺序的输出将是:“201201a”“2012010”、“2012011”、“2012012”,
我想知道java中是否有其他方法可以使用可比较或比较接口来获得这种标准的字母排序
下面的程序提供ascii排序,但我想要标准的字母顺序
public class AlphabeticalSort {
public static void main(String args[]) throws NoSuchFieldException, SecurityException{
String[] words = { "2012010", "2012012", "2012011", "201201A" };
for (int i = 0; i < 4; ++i) {
for (int j = i + 1; j < 4; ++j) {
if (words[i].compareTo(words[j]) > 0) {
String temp = words[i];
words[i] = words[j];
words[j] = temp;
}
}
}
System.out.println("In lexicographical order:");
for (int i = 0; i < 4; i++) {
System.out.println(words[i]);
}
}
}
2条答案
按热度按时间nfzehxib1#
你可以用这样的比较器:
然后使用它对数组进行排序:
wfsdck302#
你可以这样编码
Package 试验;
导入java.util.arrays;导入java.util.comparator;
公共类字母排序{
}