编写一个Book类,该类至少有price成员变量。该类要实现Comparable接口,在接口的compareTo()方法中规定Book类两个实例的大小关系为二者的price成员的大小关系。 试编写一个主类SortSearchMainClass,在main()方法中将Book类的若干个对象存放到一个链表中,然后再用Book类创建一个新的对象,并检查这个对象和链表中哪些对象相等。
时间: 2023-06-13 07:03:15 浏览: 117
首先,我们来编写Book类,实现Comparable接口:
```java
public class Book implements Comparable<Book> {
private double price;
public Book(double price) {
this.price = price;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public int compareTo(Book o) {
if (this.price > o.getPrice()) {
return 1;
} else if (this.price < o.getPrice()) {
return -1;
} else {
return 0;
}
}
}
```
接下来,我们来编写主类SortSearchMainClass,实现将Book类的若干个对象存放到一个链表中,并检查这个对象和链表中哪些对象相等:
```java
import java.util.LinkedList;
public class SortSearchMainClass {
public static void main(String[] args) {
// 创建一个链表
LinkedList<Book> bookList = new LinkedList<>();
// 向链表中添加Book对象
bookList.add(new Book(10.0));
bookList.add(new Book(20.0));
bookList.add(new Book(30.0));
bookList.add(new Book(40.0));
bookList.add(new Book(50.0));
// 创建一个新的Book对象
Book newBook = new Book(30.0);
// 检查新的Book对象和链表中哪些对象相等
for (Book book : bookList) {
if (newBook.compareTo(book) == 0) {
System.out.println("新的Book对象和链表中的Book对象" + book.getPrice() + "相等");
} else {
System.out.println("新的Book对象和链表中的Book对象" + book.getPrice() + "不相等");
}
}
}
}
```
运行结果如下:
```
新的Book对象和链表中的Book对象10.0不相等
新的Book对象和链表中的Book对象20.0不相等
新的Book对象和链表中的Book对象30.0相等
新的Book对象和链表中的Book对象40.0不相等
新的Book对象和链表中的Book对象50.0不相等
```
可以看到,新的Book对象和链表中的Book对象30.0相等,符合预期。