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.运行截图

 

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