比较两个字符串并按字母顺序对它们进行排序

8 java sorting string

我想比较两个字符串并按字母顺序对它们进行排序.我目前正在创建两个带有字符串的数组,并对它们进行排序,比较两个数组.

String a="LetterA";
String b="ALetterB";
String[] array1={a.toLowerCase(),b.toLowerCase()};
String[] array2={a.toLowerCase(),b.toLowerCase()};
Arrays.sort(array2);
if (Arrays.equals(array1, array2)){
    System.out.println(a+" is before "+b);
}
else{
    System.out.println(b+" is before "+a);
}
Run Code Online (Sandbox Code Playgroud)

这有效,但耗费时间和内存.如果有人能提出更好的方法,我将不胜感激.

Ami*_*rma 19

提示:java中的所有基本数据类型类都实现了Comparable接口.

String a="LetterA";
String b="ALetterB";
int compare = a.compareTo(b);
if (compare < 0){
    System.out.println(a+" is before "+b);
}
else if (compare > 0) {
    System.out.println(b+" is before "+a);
}
else {
    System.out.println(b+" is same as "+a);
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你不是简单的ascii模式,这个策略就不会好坏.请参见http://stackoverflow.com/a/12927962/2087666 (2认同)