编写一个Book类,该类有price和name成员变量。该类要实现Comparable接口,在接口的compareTo()方法中规定Book类两个实例的大小关系为二者的price成员的大小关系。试编写一个主类SortSearchMainClass,在main()方法中将Book类的若干个对象存放到一个链表中,然后再用Book类创建一个新的对象,并检查这个对象和链表中哪些对象相等。
时间: 2023-06-13 09:02:18 浏览: 46
下面是Book类的实现:
```java
public 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 o) {
if (this.price < o.price) {
return -1;
} else if (this.price > o.price) {
return 1;
} else {
return 0;
}
}
}
```
在这里,我们使用了Java的泛型和接口实现了Comparable接口,使得Book类可以进行比较,并且按照价格大小进行排序。
下面是主类SortSearchMainClass的实现:
```java
import java.util.LinkedList;
public class SortSearchMainClass {
public static void main(String[] args) {
// 创建若干个Book对象
Book book1 = new Book("Java编程思想", 79.0);
Book book2 = new Book("Effective Java", 68.0);
Book book3 = new Book("Java核心技术", 89.0);
Book book4 = new Book("Java并发编程实战", 58.0);
Book book5 = new Book("Java程序性能优化", 45.0);
// 将Book对象存放到链表中
LinkedList<Book> bookList = new LinkedList<Book>();
bookList.add(book1);
bookList.add(book2);
bookList.add(book3);
bookList.add(book4);
bookList.add(book5);
// 创建一个新的Book对象
Book newBook = new Book("Java编程思想", 79.0);
// 检查新的Book对象和链表中哪些对象相等
for (Book book : bookList) {
if (book.equals(newBook)) {
System.out.println("找到了相同的Book对象:" + book.getName() + ",价格为:" + book.getPrice());
}
}
}
}
```
在这里,我们创建了若干个Book对象,并将它们存放到一个链表中。然后,我们又创建了一个新的Book对象,并检查这个对象和链表中哪些对象相等。在检查相等性时,我们使用了Book类的equals()方法,因为我们希望比较的是两个Book对象的内容是否相同,而不仅仅是它们的引用是否相同。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)