- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- public class Book implements Comparable{
- /*編寫一個類Book,,具有name,price,press,author屬性.然后創(chuàng)建5個對象放入ArrayList中,,并實現(xiàn)按照price大小排序(使用Comparable接口排序),
- 然后遍歷ArrayList輸出每個Book對象,。*/
- private String name;
- private float price;
- private String press;
- private String author;
-
- //構(gòu)造方法
- public Book(String name,float price,String press,String author){
- this.name = name;
- this.price = price;
- this.press = press;
- this.author = author;
- System.out.println(name.toString());
- }
- @SuppressWarnings("unchecked")
- public static void main(String[] args){
- List<Book> list = new ArrayList<Book>();
- Book b1=new Book("java1",25f,"不錯的書","LY1");
- Book b2=new Book("java2",26f,"不錯的書","LY2");
- Book b3=new Book("java3",50f,"不錯的書","LY3");
- Book b4=new Book("java4",20f,"不錯的書","LY4");
- Book b5=new Book("java5",15f,"不錯的書","LY5");
- list.add(b1);
- list.add(b2);
- list.add(b3);
- list.add(b4);
- list.add(b5);
- Collections.sort(list);
- for(int i=0;i<list.size();i++){
- Book book = (Book)list.get(i);
- System.out.println(book);
- }
- }
- //重寫
- public int compareTo(Object obj) {
- Book p = (Book)obj;
- if(p.price>this.price){
- return 1;
- }
- else if(p.price<this.price){
- return -1;
- }
- else{
- return 0;
- }
- }
- //重寫toString方法
- public String toString(){//這上是重寫了本類的toString方法,對系統(tǒng)自帶的其它字段的toString方法無效
- return "書名:"+this.name+", 價格:"+this.price+", 說明:"+this.press+", 作者: "+this.author;
- }
- }
- //.sort(List)方法,當(dāng)然還可能使用java.util.Arrays.sort(數(shù)組),那樣就必須把//list轉(zhuǎn)化為數(shù)組,由于本例使用Collections.sort(List)已經(jīng)足夠,另一方法,大家可//以嘗試自已使用.
|