1 编写一个Book类,该类至少有name和price两个属性。该类要实现Comarable接口,在接口的compareTo()方法中规定两个Book类实例的大小关系为二者的price属性的大小关系。在主函数中,选择合适的集合类型存放Book类的若干个对象,然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等。查询结果如下图:
(1)代码
import java.util.*;
public class Book implements Comparable {
Double price;
String name;
Book(String n,Double p){
price=p;
name=n;
}
public int compareTo(Object b1) {
Book b=(Book)b1;
return this.price.compareTo(b.price);
}
public static void main (String args[]) {
List<Book> list=new LinkedList<Book>();
list.add(new Book("Java基础教程",29.0));
list.add(new Book("数据库技术",29.0));
list.add(new Book("C++基础教程",29.0));
list.add(new Book("数据结构",30.0));
Book book=new Book("模式识别",29.0);
System.out.println("新书: 《"+book.name+"》与下列图书:");
Iterator<Book> it=list.iterator();
while(it.hasNext()) {
Book boo=it.next();
if(boo.price.compareTo(book.price)==0)
System.out.println(boo.name);
}
System.out.println("价格相同,具体价格为:"+book.price+"元");
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
(2)运行结果