【发布时间】:2015-11-18 16:55:42
【问题描述】:
尝试按字母顺序对 arraylist 进行排序,但 Collection.sort 给了我一个错误,我不知道如何处理它
import java.util.ArrayList;
import java.util.Collection;
/**
*
* @author user
*/
public class BookShelf {
ArrayList<Book> listOfBooks = new ArrayList<Book>();
public void addBook(Book book) {
listOfBooks.add(book);
}
public ArrayList<Book> returnListOfBooks() {
ArrayList<Book> myBook = new ArrayList<Book>(listOfBooks);
Collection.sort(myBook);
return myBook;
}
关于如何解决这个问题的任何帮助?非常感谢!
编辑*
只需要返回一个有序的书籍数组列表, 改成Collection后,又遇到了一个难题。
我也更改了集合导入
import java.util.ArrayList;
import java.util.Collections;
【问题讨论】:
-
Book没有实现Comparable,这样做是不自然的。相反,您应该为可排序的书籍属性实现Comparators,例如作者、标题、发布日期等。然后使用Collections.sort(list, comparatorSpecifyingOrdering);
标签: java sorting arraylist collections