java按照书名长度从大到小排序
时间: 2024-09-22 14:03:42 浏览: 16
在Java中,如果你想按照书名长度从大到小对一组书籍进行排序,你可以使用Collections.sort()方法配合Comparator接口。首先,你需要创建一个Book类,包含书名(title)属性,并重写Comparable接口或者提供一个compare()方法来进行比较。
```java
import java.util.*;
class Book implements Comparable<Book> {
private String title;
// 构造函数, getters and setters...
@Override
public int compareTo(Book other) {
return this.title.length() - other.title.length(); // 按照标题长度进行比较,负数表示this小于other,正数相反
}
}
public class Main {
public static void main(String[] args) {
List<Book> bookList = ... // 假设这是你的书列表
// 使用Collections.sort()并传入自定义的Comparator
Collections.sort(bookList, Comparator.reverseOrder());
for (Book book : bookList) {
System.out.println("Title: " + book.getTitle() + ", Length: " + book.getTitle().length());
}
}
}
```
在这个例子中,`Comparator.reverseOrder()`会返回一个降序排列的比较器,所以书名长度最长的书会排在前面。