1.编写一个Book类,该类至少有name和price两个属性。该类要实现Comparable接口,在接口的compareTo()方法中规定两个Book类实例的大小关系为二者的price属性的大小关系。在主函数中,选择合适的集合类型存放Book类的若干个对象,然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等。查询结果如下图:
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class Test {
public static void main(String args[]){
List<Book> list=new ArrayList<Book>();
list.add(new Book("Java基础教程",30));
list.add(new Book("数据库技术",29));
list.add(new Book("C++基础教程",29));
Iterator<Book> iter=list.iterator();
System.out.println("输出书名和价格:");
while(iter.hasNext()){
Book b=iter.next();
System.out.println(b.name+"价格:"+b.price);
}
Book a=new Book("模式识别",29);
for(int i=0;i<list.size();i++){
int index=a.compareTo(list.get(i));
if(index==0){
Book z=(Book)list.get(i);
System.out.println(z.name+"与"+a.name+"价格相同"+","+"具体价格为:"+z.price);
}
}
}}
import java.util.*;
public class Book implements Comparable{
String name;
int price;
Book(String n,int p){
name=n;
price=p;
}
public int compareTo(Object b){
Book book=(Book)b;
return(this.price-book.price);
}
}