Java排序

2021-11-14  本文已影响0人  CQ_TYL

数组排序

        int[]arr={2,4,6,8,1,3,5,7,9};
        Arrays.sort(arr);
        for(int a:arr) {
            System.out.println(a);
        }
//输出结果:1,2,3,4,5,6,7,8,9

list排序

        List<Integer> list=new ArrayList<>();
        list.add(3);
        list.add(2);
        list.add(1);
        Collections.sort(list);
        for (int a:list){
            System.out.println(a);
        }
//输出结果:1,2,3

compareTo大小判断

        String a="a1";
        String b="a2";
        int i = a.compareTo(b);//asc码差值》0则前者大于后者,《0则前者小于后者 =0为相等
        System.out.println(i);
//输出结果:a1,a2;

Comparable排序

        Ages ages1 = new Ages("ba");
        Ages ages2 = new Ages("bb");
        Ages ages3 = new Ages("aa");
        Ages ages4 = new Ages("ab");
        List<Ages> agesList=new ArrayList<>();
        agesList.add(ages1);
        agesList.add(ages2);
        agesList.add(ages3);
        agesList.add(ages4);
        Collections.sort(agesList);
        for (Ages a1:agesList){
            System.out.println(a1.getAge());
        }
//输出结果:bb,ba,ab,aa
   private static class Ages implements Comparable<Ages> {
        private String age;
        public Ages(String age) {
            this.age=age;
        }
        public String getAge() {
            return age;
        }
        public void setAge(String age) {
            this.age = age;
        }
        @Override
        public int compareTo(Ages o) {
            return o.getAge().compareTo(this.getAge());
        }
    }

Comparator排序

        Book book1 = new Book("ba");
        Book book2 = new Book("bb");
        Book book3 = new Book("aa");
        Book book4 = new Book("ab");
        List<Book> bookList=new ArrayList<>();
        bookList.add(book1);
        bookList.add(book2);
        bookList.add(book3);
        bookList.add(book4);
        //按Comparator自定义规则排序
        Collections.sort(bookList,new BookCompareto());
        for (Book s:bookList){
            System.out.println(s.getBookName());
        }
//输出结果:aa,ab,ba,bb
private static class Book {
        public Book(String bookName){
            this.bookName=bookName;
        }
        private String bookName;
        public String getBookName() {
            return bookName;
        }
        public void setBookName(String bookName) {
            this.bookName = bookName;
        }
    }
    public static class BookCompareto implements Comparator<Book> {
        @Override
        public int compare(Book o1, Book o2) {
            return o1.getBookName().compareTo(o2.getBookName());
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读