JAVA 数组中的元素是对象,如何给对象排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 数组中的元素是对象,如何给对象排序相关的知识,希望对你有一定的参考价值。

//查看功能
public void showAllBooks()
System.out.println("显示图书");
while (true)
showBook();
System.out.println("请选择查看方式(1)价格排序 (2)其他 (3)离开查看");
Scanner sc = new Scanner(System.in);
int select = sc.nextInt();
if (select == 1)
System.out.println("价格排序");
// 给数组(书库)排序,按照书的价格升序排列, 如果书的价低,放在数组的左边, 价格高,数组右边
// 数组中的元素是对象,如何给对象排序
// 排完了... 重新显示.
//使用Arrays.sort();
//作业不会写,求大神指导!!

else if (select == 2)
System.out.println("其他排序");
else if (select == 3)
System.out.println("离开查看");
break;



参考技术A Book[] books =  new Book("j2me",12), new Book("j2se",5), new Book("j2ee",22) ;
Arrays.sort (books, new Comparator<Book> ()

    @Override
    public int compare ( Book o1, Book o2 )
    
        if (o1.getPrice()  > o2.getPrice() )
        
            return 1;
        
        else if (o1.getPrice()  < o2.getPrice() )
        
            return -1;
        
        else
        
            return 0;
        
    
);

参考技术B 定义一个比较类实现 Comparator 接口
然后重写 compare 方法(自己要比较的方式)

如果一种的话可以用比较的类实现 Comparable接口 重写 CompareTo方法本回答被提问者采纳

以上是关于JAVA 数组中的元素是对象,如何给对象排序的主要内容,如果未能解决你的问题,请参考以下文章

C++中有专门给对象数组排序的类方法吗,就像Java中的sort

JS对象数组多条件排序

在JAVA里,对一组数字进行从小到大排序,是否直接调用类,调用对象方法,直接排就行了。

JavaScript对象数组如何按指定属性和排序方

如何对包含空元素的对象数组进行排序?

java的map集合排序,value是个对象,要按照对象中的某个属性排序,怎么排啊?