編寫一個Book類,該類至少有name和price兩個屬性。該類要實現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.運行截圖