1. 程式人生 > >Java集合框架上機練習題(泛型1)

Java集合框架上機練習題(泛型1)

編寫一個Book類,該類至少有name和price兩個屬性。該類要實現Comarable介面,在介面的compareTo()方法中規定兩個Book類例項的大小關係為二者的price屬性的大小關係。在主函式中,選擇合適的集合型別存放Book類的若干個物件,然後建立一個新的Book類的物件,並檢查該物件與集合中的哪些物件相等。
import java.util.List;  
import java.util.*;  
  
public class Book implements Comparable{  
      
    String name;  
    float price;  
      
    public Book(String name,float price) {  
        this.name=name;  
        this.price=price;  
    }  
  
    public static void main(String[] args) {  
          
        List<Book> list=new ArrayList<Book>();  
        Book b1=new Book("java基礎教程", 29.0f);  
        Book b2=new Book("資料庫技術", 25.0f);  
        Book b3=new Book("C++基礎教程", 18.0f);  
        list.add(b1);  
        list.add(b2);  
        list.add(b3);  
        Book b4=new Book("《模式識別》", 29.0f);  
        System.out.println("新書:"+b4.name+"與下列圖書:");  
        for(int i=0;i<list.size();i++){  
            Book b=list.get(i);  
            int k=b.compareTo(b4);  
            if(k==1){  
                System.out.println(b.name);   
        }  
    }  
        System.out.println("價格相同,具體價格為:"+b4.price+"元");  
}  
  
    public int compareTo(Object o) {  
           
        Book p=(Book)o;  
        if(p.price==this.price){  
              
            return 1;  
        }  
        else  
            return 0;  
    }  
}