直接上例子:
package com_cc.Private;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Comparator;
/**
* @author cc
* @version 1.0
*/
public class Sort_ {
public static void main(String[] args) {
int[] a = new int[4];
Book[] books = new Book[4];
books[0] = new Book(100,"红楼梦");
books[1] = new Book(90,"金瓶梅");
books[2] = new Book(5,"青年111111111");
books[3] = new Book(300,"Java");
Arrays.sort(books, new Comparator<Book>() {//自定义排序规则,写一个内部类实现接口comparator
@Override
public int compare(Book o1, Book o2) {
//return o2.price - o1.price;//从大到小
//return o1.price - o2.price;//升序
return -(o1.book.length() - o2.book.length());//书名的长度
}
});
System.out.println(Arrays.toString(books));
}
}
class Book{
String book;
int price;
public Book(int price, String book) {
this.book = book;
this.price = price;
}
@Override
public String toString() {
return "Book{" +
"book='" + book + '\'' +
", price=" + price +
'}';
}
}