对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());
}
}
}