gpt4 book ai didi

java - 如何按多个类别对 Arraylist 进行排序

转载 作者:行者123 更新时间:2023-11-29 05:26:16 24 4
gpt4 key购买 nike

这里我比较的只是书名。但之后我想将它与作者和书号进行比较。据我所知,必须只有一种覆盖方法。所以请帮我解决这个问题。

@Override

public int compareTo(Book bk) {

return this.bookTitle.compareTo(bk.bookTitle);
}

最佳答案

您必须为不同的排序类型实现不同的比较器,并将它们传递给 Collections.Sort 方法。参见 Comparator

Class AuthorSort implements Comparator<Book>
{

public int compare(Book b1, Book b2){
// do comparision on Author
}

}

实现书号排序

Class BookNoSort implements Comparator<Book>
{

public int compare(Book b1, Book b2){
// do comparision on Book Number
}

}

在 Collections 类上调用 Sort 方法并提供不同的实现

Collections.sort(list, new BookNumberSort());
Collections.sort(list, new AuthorSort());

关于java - 如何按多个类别对 Arraylist 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22573938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com