编写一个Book类,该类至少有price成员变量。该类要实现Comparable接口,在接口的compareTo()方法中规定Book类两个实例的大小关系为二者的price成员的大小关系。编写一个主类SortSearchMainClass,在main()方法中将Book类的若干个对象存放到一个链表中,然后再用Book创建一个新的对象,并检查这个新对象和链表中哪些对象相等。
时间: 2024-01-21 16:17:02 浏览: 111
String类下compareTo()与compare()方法比较
5星 · 资源好评率100%
下面是Book类的代码实现:
```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 other) {
if (this.price < other.price) {
return -1;
} else if (this.price > other.price) {
return 1;
} else {
return 0;
}
}
}
```
在这个类中,我们定义了一个price成员变量,并实现了Comparable接口,其中的compareTo()方法将两个Book对象的大小关系定义为它们price成员的大小关系。
下面是SortSearchMainClass类的代码实现:
```java
import java.util.ArrayList;
import java.util.List;
public class SortSearchMainClass {
public static void main(String[] args) {
List<Book> bookList = new ArrayList<>();
bookList.add(new Book(20.0));
bookList.add(new Book(15.0));
bookList.add(new Book(25.0));
// 创建一个新的Book对象
Book newBook = new Book(15.0);
// 检查和链表中哪些对象相等
for (Book book : bookList) {
if (book.compareTo(newBook) == 0) {
System.out.println("新的Book对象和链表中的" + book.getPrice() + "元的Book对象相等");
}
}
}
}
```
在这个类中,我们创建了一个Book对象的链表,然后创建了一个新的Book对象newBook,并用compareTo()方法检查它和链表中哪些对象相等。如果相等,就输出相应的信息。
运行结果如下:
```
新的Book对象和链表中的15.0元的Book对象相等
```
阅读全文