Java 按字母顺序排序数组

Java 按字母顺序排序数组,java,android,Java,Android,如何在Java/Android中按字母顺序对数组排序? 之后,我想将有序数组提供给列表视图数组。sort()应该可以做到这一点 有关更复杂的排序,请参阅 例如: Arrays.sort(some_array, new Comparator<SomeObject>() { @Override public int compare(SomeObject entry1, SomeObject entry2) { return entry1.getSomeData().compare

如何在Java/Android中按字母顺序对数组排序? 之后,我想将有序数组提供给
列表视图

数组。sort()应该可以做到这一点


有关更复杂的排序,请参阅

例如:

Arrays.sort(some_array, new Comparator<SomeObject>() {
@Override
public int compare(SomeObject entry1, SomeObject entry2) {
    return entry1.getSomeData().compareTo(entry2.getSomeData());
}
Arrays.sort(一些数组,新的比较器(){
@凌驾
public int compare(SomeObject entry1,SomeObject entry2){
返回entry1.getSomeData().compareTo(entry2.getSomeData());
}

}))

实现可比较接口的对象(如字符串)具有自然顺序(由其compareTo方法定义),因此您只需使用:

它将直接对数组进行排序,而不会进行复制

如果您想要一个不被认为是“自然”的更具体的排序,您可以为该对象创建一个比较器:

Comparator<MyObject> comp = new Comparator<MyObject>() {
    public int compare(MyObject obj1, MyObject obj2) {
        //Code here
    }
}
Arrays.sort(yourArrayOfObjects, comp);
比较器comp=新比较器(){ 公共整数比较(MyObject对象J1、MyObject对象J2){ //代码在这里 } } Arrays.sort(youraryofobjects,comp);
and(其中第一个对象是对象本身)的规则是:如果第一个对象小于第二个对象,则返回负数;如果第一个对象小于第二个对象,则返回正数;如果它们相等,则返回0。

只需使用

Arrays.sort(myarray);
. 无效排序(T[]a,比较器
Arrays.sort(myarray);