Java模拟 Arrays.sort 实现自定义排序

点击“终码一生”,关注,置顶公众号 每日技术干货,第一时间送达&#x…

点击“终码一生”,关注,置顶公众号

每日技术干货,第一时间送达!

给你一连串数字要你排序,你可能觉得小case,如果我这里有一个图书类别,图书类的成员变量有:书名、价格、作者等等

要求你根据图书价格升序排序打印所有图书信息,你会怎么做呢?

咱们可以在图书类里面定义一个compare 方法

如果返回值大于零 说明调用者的 price 要更大 ,小于零说明方法体里的参数要更大。

咱们再建一个MyArrays类,定义一个排序方法给咱们的book排序。IDEA最新激活教程

思路有了,下面咱们开始写代码吧,为了达到扩展效果,以便于别人都可以使用你写的代码,咱们先建一个MyCompareble接口。

因为我希望所有类都可以实现这个接口并使用其方法,这里参数类型我是用了Object,Object是所有类的父类,object对象可以指向任意对象。这里我们让Book类实现这个接口:

好,我们已经实现了MyCompareble接口并重写了 compare方法,我们再建个MyArrays类,并写好排序方法:

功能已经完善了,咱们来测试下:

效果如下图:

该图书已经按价格排好序了,咱们写的排序是通用的,不管你是book类还是学生类,都可以使用。

PS:防止找不到本篇文章,可以收藏点赞,方便翻阅查找哦

本文来自网络,不代表软粉网立场,转载请注明出处:https://www.rfff.net/p/2284.html

作者: HUI

发表评论

您的电子邮箱地址不会被公开。

返回顶部