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());
        }
上一篇 下一篇

猜你喜欢

热点阅读