1. 程式人生 > >Java集合框架上機練習題編寫一個Book類

Java集合框架上機練習題編寫一個Book類

編寫一個Book類,該類至少有nameprice兩個屬性該類要實現Comarable介面,在介面的compareTo()方法中規定兩個Book類例項的大小關係為二者的price屬性的大小關係在主函式中選擇合適的集合型別存放Book類的若干個物件然後建立一個新的Book類的物件,並檢查該物件與集合中的哪些物件相等。查詢結果如下圖:


  1. import java.util.Comparator;  
  2. publicclass Book   implements Comparator{  
  3.     private String name;  
  4.     privateint price;  
  5.     public
     Book(String name, int price) {  
  6.         super();  
  7.         this.name = name;  
  8.         this.price = price;  
  9.     }  
  10.     public String getName() {  
  11.         return name;  
  12.     }  
  13.     publicvoid setName(String name) {  
  14.         this.name = name;  
  15.     }  
  16.     publicint getPrice() {  
  17.         return
     price;  
  18.     }  
  19.     publicvoid setPrice(int price) {  
  20.         this.price = price;  
  21.     }  
  22.     public Book() {  
  23.         super();  
  24.         // TODO Auto-generated constructor stub
  25.     }  
  26.     /*  public int compareTo(Book one, Book another) { 
  27.           int i = 0; 
  28.           i = one.name.compareTo(another.name); // 使用字串的比較
     
  29.           if(i == 0) { // 如果名字一樣,比較年齡,返回比較jiage結果 
  30.                return one.price - another.price; 
  31.           } else { 
  32.                return i; // 名字不一樣, 返回比較名字的結果. 
  33.           } 
  34.      }*/
  35.     @Override
  36.     publicint compare(Object o1, Object o2) {  
  37.         // TODO Auto-generated method stub       
  38.         return ((Book)o1).price - ((Book)o2).price;   
  39.     }  
  40. }  
  1. import java.util.ArrayList;  
  2. publicclass Demo {  
  3.     /** 
  4.      * @param args 
  5.      */
  6.     publicstaticvoid main(String[] args) {  
  7.         // TODO Auto-generated method stub
  8.         ArrayList<Book>  list=new ArrayList<Book>();  
  9.          list.add(new Book("java",29));  
  10.          list.add(new Book("C++",29));  
  11.          Book  book=new Book();  
  12.        int  t=   book.compare(list.get(0), list.get(1));  
  13.        if(t==0){  
  14.            System.out.println("價格相同,具體價格:"+((Book)list.get(0)).getPrice());  
  15.        }else
  16.            System.out.println("價格不相等");  
  17.     }  
  18. }  
執行結果:


相關推薦

Java集合框架上機練習題:編寫一個Book,該類至少有name和price兩個屬性。該類要實現Comparable接口,在接口的compareTo()方法.....

ext .cn 數據庫 識別 方法 屬性 set package compareto 編寫一個Book類,該類至少有name和price兩個屬性。該類要實現Comparable接口,在接口的compareTo()方法中規定兩個Book類實例的大小關系為二者的price屬性的

Java集合框架上機練習題編寫一個Book

編寫一個Book類,該類至少有name和price兩個屬性。該類要實現Comarable介面,在介面的compareTo()方法中規定兩個Book類例項的大小關係為二者的price屬性的大小關係。在主函式中,選擇合適的集合型別存放Book類的若干個物件,然後建立一個新的Bo

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

編寫一個應用程式,使用者分別從兩個文字框輸入學術的姓名和分數,程式按成績排序將這些學生的姓名和分數顯示在一個文字區中。 Student.java public class Student implements Comparable { String n

Java集合框架上機練習題2

package sci; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.FlowLayout; import java

Java集合框架上機練習題-1

編寫一個Book類,該類至少有name和price兩個屬性。該類要實現Comparable介面,在介面的compareTo()方法中規定兩個Book類例項的大小關係為二者的price屬性的大小關係。在主函式中,選擇合適的集合型別存放Book類的若干個物件,然後建

Java集合框架上機練習題

1編寫一個Book類,該類至少有name和price兩個屬性。該類要實現Comparable介面,在介面的compareTo()方法中規定兩個Book類例項的大小關係為二者的price屬性的大小關係。在主函式中,選擇合適的集合型別存放Book類的若干個物件,然後建立一個新的

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

編寫一個Book類,該類至少有name和price兩個屬性。該類要實現Comarable介面,在介面的compareTo()方法中規定兩個Book類例項的大小關係為二者的price屬性的大小關係。在主

java:集合框架練習-儲存無序並且重複的字串集合,定義一個方法,讓其有序(字典順序),不去除重複

import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Tree

java:集合框架練習-從鍵盤接收一個字串, 程式對其中所有字元進行排序

import java.util.Comparator; import java.util.Scanner; import java.util.TreeSet; public class Test5

Java學習筆記——淺談數據結構與Java集合框架(第一篇、List)

技術分享 emp 鏈表 adc 下標 -c nod nal integer 橫看成嶺側成峰,遠近高低各不同。不識廬山真面目,只緣身在此山中。               ——蘇軾 這一塊兒學的是雲裏霧裏,咱們先從簡單的入手。逐漸的撥開迷霧見太陽。本次先做List集合的三

jdk源碼閱讀筆記之java集合框架(四)(LinkedList)

ray private array public 源碼閱讀 jdk源碼閱讀 oid color 解釋 關於LinkedList的分析,會從且僅從其添加(add)方法入手。 因為上一篇已經分析過ArrayList,相似的地方就不再敘述,關註點在LinkedList的特點。 屬

Java集合框架介紹。Java Collection Frameworks = JCF

ava image src work ges frame 介紹 lec 分享 Java集合框架 = Java Collection Frameworks = JCF 。 為了方便理解,我畫了一張思維腦圖。 Java集合框架介紹。Java Collection F

Java集合博客的導航 java集合框架學習路線

score blank 學習路線 lis map html log sco link 一、java集合Collection和Map的概述(http://www.cnblogs.com/escore/p/6931369.html) 二、java集合Collection接口

[Java]-集合框架

事務 turn 可能 title 插入 常用 associate methods one Java集合框架是非常普遍使用,也是非常重要的部分,同時也是很基礎的部分,熟練掌握很重要,它對於數據的操作提供了良好的接口,下面將從整個集合框架的體系介紹重要的集合框架類,使用方法,以

java集合框架02

array set map集合 操作 不能 highlight ash listt next() public class ListTest { public static void main(String[] args) { //創建幾個新聞對象 News

Java集合框架的接口和層次關系結構圖

fly tsv nsh ats cap war sdc groovy fmb %E7%94%A8groovy%E8%84%9A%E6%9C%AC%E8%BF%9B%E8%A1%8C%E6%AF%8F%E6%97%A5%E5%B7%A5%E4%BD%9C%E7%9A%84%E

淺談Java集合框架

順序 eem map pre 叠代器 static 支持 print ted 集合框架最大的作用就是維護一組類型同樣的對象。僅僅是不同的類有不同的行為和性能。通常關註下面這些行為: 是否能存放反復的元素遍歷的順序是如何的是否支持多線程 以下首先介紹集合的經常使用,隨

第10篇-JAVA 集合框架-JAVA 泛型

java集合框架 java泛型 第10篇-JAVA 集合框架-JAVA 泛型每篇一句 :所有的不甘,都是因為還心存夢想初學心得: 不是每件事都註定會成功,但是每件事都值得一試(筆者:JEEP/711)[JAVA筆記 | 時間:2017-04-15| JAVA 集合框架/JAVA 泛型 ]1.JAVA

淺入深出之Java集合框架(上)

不重復 系統 left 子類 log 兩個 示例 c語言 重要 Java中的集合框架(上) 由於Java中的集合框架的內容比較多,在這裏分為三個部分介紹Java的集合框架,內容是從淺到深,如果已經有java基礎的小夥伴可以直接跳到<淺入深出之Java集合框架(下)&

Java集合源代碼剖析】Java集合框架

set接口 eset eem jdk1 叠代 array 學習 tail pan 轉載輕註明出處:http://blog.csdn.net/ns_code/article/details/35564663 Java集合工具包位於Java.util包下,包括了非常多