1 编写一个Book类,该类至少有name和price两个属性。该类要实现Comparable接口,在接口的compareTo()方法中规定两个Book类实例的大小关系为二者的price属性的大小关系。在主函数中,选择合适的集合类型存放Book类的若干个对象,然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等。查询结果如下图:
package WK.COM;
import java.util.*;
public class Book implements Comparable{
String name;
int price;
public Book(String name,int price){
this.name = name;
this.price = price;
}
public int compareTo(Object obj) {
Book bk = (Book)obj;
if(bk.price==this.price){
return 1;
}
return 0;
}
public static void main(String[] args) {
List<Book> list = new ArrayList<Book>();
Book bk1 = new Book("java基础教程",29);
Book bk2 = new Book("数据库技术",29);
Book bk3 = new Book("C++基础教程",29);
Book bk4 = new Book("微机原理",39);
Book bk5 = new Book("操作系统",39);
Book bk6 = new Book("高数",59);
Book bk7 = new Book("数据结构",69);
list.add(bk1);
list.add(bk2);
list.add(bk3);
list.add(bk4);
list.add(bk5);
list.add(bk6);
list.add(bk7);
Collections.sort(list);
System.out.println("输入:");
Scanner bookin = new Scanner(System.in);
String inname = bookin.nextLine();
int SHU = bookin.nextInt();
Book bkn = new Book(inname,SHU);
System.out.println("新书"+bkn.name+"与下列图书:");
Iterator<Book> it = list.iterator();
while(it.hasNext()){
Book b= it.next();
if(b.compareTo(bkn)==1)
System.out.println(b.name);
}
System.out.println("价格相同,具体价格为:"+bk1.price+"元");
}
}