一尘不染

如何在对象数组中查找第二大元素

java

我需要知道在对象数组中查找第二大元素的方法。例如 如果存在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);

我们如何列出价格第二高的书以及其他属性,例如名称和库存数量


阅读 232

收藏
2020-12-03

共1个答案

一尘不染

做一个ListBooks从它,它的排序使用Collections.sort,并采取元素索引1。

    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));
    }
2020-12-03