定义一个Book类并能根据价格进行比较。创建一个泛型集合存放图书,对图书进行排序并输出。
时间: 2024-03-11 21:47:18 浏览: 68
用c++定义一个Book(图书)类
5星 · 资源好评率100%
好的,这个问题我可以帮您解决。以下是Java代码实现:
```java
import java.util.*;
class Book implements Comparable<Book>{
private String name;
private double price;
public Book(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
@Override
public int compareTo(Book book) {
if(this.price > book.price)
return 1;
else if (this.price < book.price)
return -1;
else
return 0;
}
}
public class Main {
public static void main(String[] args) {
List<Book> books = new ArrayList<>();
books.add(new Book("Java编程思想", 79.80));
books.add(new Book("代码大全", 89.00));
books.add(new Book("深入浅出MySQL", 59.90));
Collections.sort(books);
for (Book book : books) {
System.out.println(book.getName() + ": " + book.getPrice());
}
}
}
```
在上面的代码中,我们定义了一个 Book 类,它有两个属性:name 和 price,其中 price 属性可以用来进行比较。为了实现比较功能,我们让 Book 类实现了 Comparable 接口,并实现了 compareTo() 方法。在 compareTo() 方法中,我们通过比较 price 属性来实现了 Book 对象的比较。
在 main() 函数中,我们创建了一个泛型集合 books,并添加了三本书。我们使用 Collection.sort() 方法将 books 集合中的元素按照价格进行排序,最后输出排序后的结果。
希望能对您有所帮助。
阅读全文