安卓系统自带方法属性:
Collections.sort(A, B);
解释:A代表的是你要排序的集合
B代表你要排序的方式
一个简单方法的应用:
ArrayList<Model> AL= new ArrayList<Model>();
//创建A
for (int i = 0; i < 10.length; i++) {
Model model = new Model();
model.setName(name);
model.setPosition(position);
model.setPhone(phone);
model.setX(x);
model.setY(y);
model.setDistance((int)distance);
AL.add(model);
}
Collections.sort(AL, new order()); //对A进行B中排序,这里的AL就是A new order()就表示的B
//这就是B
public class order implements Comparator<Model> {
@Override
public int compare(Model lhs, Model rhs) {
return (int)(lhs.getDistance()-rhs.getDistance()); //负数在左,正数在右.(lhs.getDistance()是Model类的一个属性值);
}
}
//Model类
public class Model implements Serializable{//这里的一个应用,实现Serializable接口,和排序没有关系,只是为了方便activity之间的传值的时候使用.Model实现了这个接口,那么Intent.putExtras("AL",AL);就可以直接传递了.
private String name;
private String position;
private String phone;
private Double x;
private Double y;
private int distance;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public Double getX() {
return x;
}
public void setX(Double x) {
this.x = x;
}
public Double getY() {
return y;
}
public void setY(Double y) {
this.y = y;
}
public int getDistance() {
return distance;
}
public void setDistance(int distance) {
this.distance = distance;
}
}
基本的一个从小到大的一个排序就这么简单,我是安卓新人,谢谢支持.