/*编写一个Book类,该类至少有name和price两个属性。 * 该类要实现Comparable接口,在接口的compareTo()方法中规定 * 两个Book类实例的大小关系为二者的price属性的大小关系。 * 在主函数中,选择合适的集合类型存放Book类的若干个对象, * 然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等。*/ @SuppressWarnings("rawtypes") public class Book implements Comparable{ String name; double price; public Book(String name,double price){ this.name=name; this.price=price; } public int compareTo(Object o) { // TODO Auto-generated method stub Book bk=(Book)o; if(bk.price==this.price)//此处要写两个等于号 == return 1; else return 0; } } import java.util.ArrayList; import java.util.Iterator; /*编写一个Book类,该类至少有name和price两个属性。 * 该类要实现Comparable接口,在接口的compareTo()方法中规定 * 两个Book类实例的大小关系为二者的price属性的大小关系。 * 在主函数中,选择合适的集合类型存放Book类的若干个对象, * 然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等。*/ public class BookTest { public static void main(String[] args){ ArrayList<Book> List=new ArrayList<Book>(); Book bk1=new Book("java基础教程",29); Book bk2=new Book("C++基础教程",20); Book bk3=new Book("数据库技术",29); List.add(bk1); List.add(bk2); List.add(bk3); Book bk0=new Book("模式匹配",29); System.out.println("新书:《"+bk0.name+"》与下列图书:"); Iterator<Book> it=List.iterator(); while(it.hasNext()){ //下一个元素是否存在 Book b=it.next(); //读取下一个元素 if(b.compareTo(bk0)==1) System.out.println(b.name); } System.out.println("价格相同,具体价格为:"+bk0.price); } }
泛型
最新推荐文章于 2022-04-11 15:51:57 发布