代码如下:
package com.geostar.geosmarter;
import java.util.Arrays;
import java.util.Comparator;
/**
* 自定义数组排序
* */
public class Test08 {
public static void main(String[] args) {
// create a disorderly array
ObjectId[] dirids = new ObjectId[] {new ObjectId("5"),
new ObjectId("2"),
new ObjectId("9"),
new ObjectId("3"),
new ObjectId("1"),
new ObjectId("4")};
// print this array
for (int i = 0; i < dirids.length; i++) {
System.out.println(dirids[i].getId());
}
// sort
Arrays.sort(dirids, new Comparator<ObjectId>() {
@Override
public int compare(ObjectId o1, ObjectId o2) {
int io1 = Integer.parseInt(o1.getId());
int io2 = Integer.parseInt(o2.getId());
return io1 - io2;//正序
}
});
System.out.println("====分隔符====");
//print this array again
for (int i = 0; i < dirids.length; i++) {
System.out.println(dirids[i].getId());
}
}
}
//pojo class
class ObjectId {
String id;
public ObjectId(String a) {
this.id = a;
}
public String getId() {
return this.id;
}
}
结果如下:
5
2
9
3
1
4
====分隔符====
1
2
3
4
5
9