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