Java集合框架--Book

   編寫一個Book類,該類至少有nameprice兩個屬性該類要實現Comarable接口,在接口的compareTo()方法中規定兩個Book類實例的大小關係爲二者的price屬性的大小關係在主函數中選擇合適的集合類型存放Book類的若干個對象然後創建一個新的Book類的對象,並檢查該對象與集合中的哪些對象相等。

查詢結果如下圖:

新書:《模式識別》與下列圖書: 
 *      Java基礎教程 
 *      數據庫技術 
 *      C++基礎教程 
 *  價格相同,具體價格爲:29.0元。


1.Book.java

import java.util.LinkedHashMap;  
import java.util.Map;  
import java.util.Map.Entry;  
  
public class Book implements Comparable<Book>{  
    String name;  
    double piece;  
  
    public Book(String name,double piece){  
        this.name=name;  
        this.piece=piece;  
    }  
  
    @Override  
    public int compareTo(Book o) {  
        if(piece>o.piece)  
            return 1;                
        else if(piece==o.piece)  
            return 0;              
        else  
            return -1;             
    }  
      
    public static void main(String[] args) {  
        Map<String,Double> bookMap=new LinkedHashMap<String,Double>();  
        bookMap.put("Java基礎課程",29.0);  
        bookMap.put("Android開發",38.0);  
        bookMap.put("數據結構",30.0);  
        bookMap.put("數據庫技術",29.0);  
        bookMap.put("計算機網絡技術",32.0);  
        bookMap.put("C++基礎教程",29.0);  
        Book newBook=new Book("模式識別",29.0);  
        System.out.println("新書:《模式識別》與下列圖書:");  
        for(Entry<String, Double> b : bookMap.entrySet()){       
            Book comBook=new Book(b.getKey(),b.getValue());       
            if(newBook.compareTo(comBook)==0)                     
                System.out.println(comBook.name);  
        }  
        System.out.println("價格相同,具體價格爲:"+newBook.piece+"元。");  
    }  
} 

2.運行截圖

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章