字符串数组排序(Java/JavaScript代码版)

Java

public static void main(String[] args) throws Exception {
    String[] arr = new String[] {
        "abc",
        "xyz",
        "efg"
    };
    // 默认按自然升序排
    Arrays.sort(arr);
    System.out.println(Arrays.toString(arr));
}
降序排

降序排,可传入第二个参数,用于判断2个字符相对大小的比较器。

Arrays.sort(arr, new Comparator<String>() {
    @Override
    public int compare(String o1, String o2) {
        return o2.compareTo(o1);
    }
});

降序排,第二个参数传入lambda表达式,JDK1.8及以后支持。

Arrays.sort(arr, (a,b)->{
    return b.compareTo(a);
});

降序排,JDK1.8中已经定义了降序比较器。

Arrays.sort(arr, Comparator.reverseOrder());

JavaScript

var x = ["abc","xyz","efg"];
x.sort();//['abc', 'efg', 'xyz']
x.sort().reverse();//['xyz', 'efg', 'abc']
x.sort(function(a,b){return b.localeCompare(a);});//['xyz', 'efg', 'abc']