Android 对List中的实体的某一项排序

对People实体中的age进行排序

People实体

public class People {
private String name;
private String age;
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getAge() {
    return age;
}
public void setAge(String age) {
    this.age = age;
}

}

实现Comparator处理排序

public class PeopleComparatpor implements Comparator<People>{
    private String type;
    /**
     * 1降序
     * 其余升序
     * */
  public PeopleComparatpor(String type){
      this.type=type;
  }
    @Override
    public int compare(People lhs, People rhs) {
        // TODO 自动生成的方法存根
        if(type.equals("1")){
            return Integer.parseInt(rhs.getAge())-Integer.parseInt(lhs.getAge());
        }else{
            return Integer.parseInt(lhs.getAge())-Integer.parseInt(rhs.getAge());
        }
    }

}

Comparator的使用

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        List<People> list=new ArrayList<People>();
        People p1=new People();
        p1.setAge("9");
        p1.setName("zs");
        list.add(p1);
        People p2=new People();
        p2.setAge("29");
        p2.setName("ss");
        list.add(p2);
        People p3=new People();
        p3.setAge("19");
        p3.setName("fs");
        list.add(p3);
        People p4=new People();
        p4.setAge("59");
        p4.setName("ns");
        list.add(p4);
        People p5=new People();
        p5.setAge("39");
        p5.setName("bs");
        list.add(p5);
        Comparator<People> com=new PeopleComparatpor("2");
        Collections.sort(list, com);
        for(People p:list){
            Log.d("xxx", p.getAge());
        }
    }

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值