Java升序排序
2020-09-17 本文已影响0人
沉淀者
1.Comparator
ArrayList<String> list=new ArrayList<>();
list.add("a");
list.add("c");
list.add("d");
list.add("b");
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
//return o1.compareTo(o2);//升序
return o2.compareTo(o1);//降序
}
});
2.Comparable
public class Person implements Comparable<Person> {
public void setAge(Integer age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public String getName() {
return name;
}
private Integer age;
private String name;
@Override
public int compareTo(@NonNull Person o) {
//return this.getAge().compareTo(o.getAge());//升序
return -this.getAge().compareTo(o.getAge());//降序
}
}
ArrayList<Person> list=new ArrayList<>();
Person person=new Person();
person.setAge(25);
person.setName("cjj");
list.add(person);
person=new Person();
person.setAge(20);
person.setName("cjh");
list.add(person);
Collections.sort(list);
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i).getName());
}