我需要知道在对象数组中查找第二大元素的方法。例如 如果存在Book类的一系列对象,这些对象的属性如书名,价格,库存数量
Book[] b=new Book[]; b[0]=new Book("x",200,50); b[1]=new Book("y",100,44); b[2]=new Book("z",500,29);
我们如何列出价格第二高的书以及其他属性,例如名称和库存数量
做一个List的Books从它,它的排序使用Collections.sort,并采取元素索引1。
List
Books
Collections.sort
List<Book> booklist = new ArrayList<Book>(Arrays.asList(b)); Collections.sort(booklist, new Comparator<Book>() { @Override public int compare(Book o1, Book o2) { return o2.getPrice() - o1.getPrice(); } }); if (booklist.size() > 1) { System.out.println(booklist.get(1)); }