ArrayList集合或List集合的排序以及activity间集合传值

来源:互联网 发布:日本药妆品牌 知乎 编辑:程序博客网 时间:2024/06/03 03:53

安卓系统自带方法属性:
Collections.sort(A, B);

解释:A代表的是你要排序的集合
B代表你要排序的方式

一个简单方法的应用:

ArrayList<Model> AL= new ArrayList<Model>(); //创建Afor (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
//这就是Bpublic 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;    }}

基本的一个从小到大的一个排序就这么简单,我是安卓新人,谢谢支持.

0 0
原创粉丝点击