返回

新闻详情

什么是java对象排序


来源:郑州达内IT培训学校时间:2022/7/11 17:57:21

在学习java编程时,排序可以说是常规的操作,在集合或者数组中,有时候需要对里面的元素,也就是对象进行排序,可能很多java的小白们只知道对数据进行排序,对java对象排序还不是很了解,下面就来介绍一下什么是java对象排序,为什么要进行java对象排序。

Java对象排序就是依照对象的某个或者某几个属性从大到小或者从小到大进行排序,对象可以是一组数组中的元素。整数数组的排序对于理解各种排序方法的性能是很理想的例子,但是现实中却很难有这样的问题。通常,需要排序的对象是一个具有许多域的Object,这些域中只有其中一些用于进行比较。

下面我们来考虑与电话号码本相关的条目的排序问题,第 一步是识别电话本中单个条目的结构,它可能 的格式:

为了描述电话号码本中两个条目之间的关系,我们加入了compareTo方法 。

当this 在逻辑上小于、等于或者大于other的时候,compareTo方法返回一个小于、等于或者大于0对照整数。现在就可以修改前面所介绍的任何一种排序方法来对这个电话号码条目数组进行排序:

对这个插入排序例程进行详细分析后,发现所有的“<”操作符都被替换成了对负的compare To返回值的检查。结果是,数组中的电话号码条目以电话号码的升序进行排列。

如果两个或者更多的人使用相同的分机号码,则后条目的顺序取决于排序的稳定性。如果排序是稳定的,则排序后数组中具有相同分机号码的电话号码条目的相对顺序,与未排序之前它们的相对顺序是相同的。如果排序不是稳定的,则不能增加这一点。为了确保条目,比如说,根据分机号码进行升序排列,在共用分机号码的情况下,根据名字升序排列,可以使用compareTo程序:

当对象不能够完全有序的时候,可能很难使用compareTo方法正确地描述两个对象之间的关系。一个运动队可能总是严格小于另外一个运动队吗?一个集合总是包含另外一个集合吗?不是的。这些就是部分有序的例子,通常,大多数的类型都是完全有序的。


上一篇:常用输出格式符表

下一篇:atol函数的使用

  咨询老师  拨打电话  网上报名