编写一个Book类,该类有price和name成员变量。该类要实现Comparable接口,在接口的compareTo()方法中规定Book类两个实例的大小关系为二者的price成员的大小关系。试编写一个主类SortSearchMainClass,在main()方法中将Book类的若干个对象存放到一个链表中,然后再用Book类创建一个新的对象,并检查这个对象和链表中哪些对象相等。
时间: 2023-06-13 07:02:04 浏览: 96
下面是Book类的代码,实现了Comparable接口:
```java
public class Book implements Comparable<Book> {
private double price;
private String name;
public Book(double price, String name) {
this.price = price;
this.name = name;
}
public double getPrice() {
return price;
}
public String getName() {
return name;
}
@Override
public int compareTo(Book o) {
if (this.price > o.price) {
return 1;
} else if (this.price < o.price) {
return -1;
} else {
return 0;
}
}
}
```
下面是SortSearchMainClass类的代码,实现了将若干个Book对象存放到一个链表中,并检查一个新的Book对象和链表中哪些对象相等:
```java
import java.util.LinkedList;
public class SortSearchMainClass {
public static void main(String[] args) {
LinkedList<Book> books = new LinkedList<>();
books.add(new Book(10.0, "book1"));
books.add(new Book(20.0, "book2"));
books.add(new Book(5.0, "book3"));
books.add(new Book(15.0, "book4"));
Book newBook = new Book(20.0, "book5");
for (Book book : books) {
if (book.compareTo(newBook) == 0) {
System.out.println("The new book is equal to " + book.getName() + ".");
}
}
}
}
```
在main方法中,我们首先创建一个LinkedList<Book>对象books,并将若干个Book对象添加到该链表中。然后,我们创建一个新的Book对象newBook,并用compareTo方法依次比较该对象和链表中的每个Book对象。如果比较结果为0,则说明该新对象和链表中的某个对象相等,输出相应信息即可。