Arrays.sort 的兩種用法
public class TestSort {

        public static void main(String[] args) {
                Book[] books = { new Book("Java"), new Book("Php"), new Book("C#") };
                Arrays.sort(books);
                System.out.print("by Book name :");
                foreach(books);
                Arrays.sort(books, new BookComparator());
                System.out.print("by Book length :");
                foreach(books);
        }

        static void foreach(Book[] books) {
                for (Book b : books) {
                        System.out.print(" " + b.name);
                }
                System.out.println();
        }
}

class Book implements Comparable<Book> {
        String name;

        Book(String name) {
                this.name = name;
        }

        @Override
        public int compareTo(Book o) {
                return this.name.compareTo(o.name);
        }

        public String toString() {
                return this.name;
        }
}

class BookComparator implements Comparator<Book> {

        @Override
        public int compare(Book o1, Book o2) {
                return o1.name.length() - o2.name.length();
        }
}

文章標籤

kya9988 發表在 痞客邦 留言(0) 人氣()