如何按字母顺序对Java / Android中的数组进行排序?
之后,我想将有序数组提供给ListView
。
答案 0 :(得分:3)
Arrays.sort()应该做的伎俩
http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html
答案 1 :(得分:3)
可以使用
完成Arrays.sort(myarray);
答案 2 :(得分:1)
有关更复杂的排序,请参阅Comparator
示例:
Arrays.sort(some_array, new Comparator<SomeObject>() {
@Override
public int compare(SomeObject entry1, SomeObject entry2) {
return entry1.getSomeData().compareTo(entry2.getSomeData());
}
});
答案 3 :(得分:0)
实现Comparable接口的对象(如Strings)具有自然排序(由compareTo方法定义),因此您只需使用Arrays.sort():
Arrays.sort(yourArrayOfComparables);
它将直接对数组进行排序,不会复制。
如果您想要一种不被视为“自然”的更具体的排序,您可以为该对象创建一个比较器:
Comparator<MyObject> comp = new Comparator<MyObject>() {
public int compare(MyObject obj1, MyObject obj2) {
//Code here
}
}
Arrays.sort(yourArrayOfObjects, comp);
Comparators和Comparables(第一个对象是对象本身)的规则是:如果第一个对象小于第二个对象则返回负数,对于另一个对象则返回正数0如果他们是平等的。