什么是java對象排序

什么是java對象排序

深圳達內(nèi)教育      2022-04-17 23:00:02     0

什么是java對象排序,在學習java編程時,排序可以說是常規(guī)的操作,在集合或者數(shù)組中,有時候需要對里面的元素,也就是對象進行排序,可能很多java零基

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

在學習java編程時,排序可以說是常規(guī)的操作,在集合或者數(shù)組中,有時候需要對里面的元素,也就是對象進行排序,可能很多java零基礎(chǔ)的小白們只知道對數(shù)據(jù)進行排序,對java對象排序還不是很了解,下面就來介紹一下什么是java對象排序,為什么要進行java對象排序。

Java對象排序就是依照對象的某個或者某幾個屬性從大到小或者從小到大進行排序,對象可以是一組數(shù)組中的元素。整數(shù)數(shù)組的排序?qū)τ诶斫飧鞣N排序方法的性能是很理想的例子,但是現(xiàn)實中卻很難有這樣的問題。通常,需要排序的對象是一個具有許多域的Object,這些域中只有其中一些用于進行比較。

下面我們來考慮與電話號碼本相關(guān)的條目的排序問題,第一步是識別電話本中單個條目的結(jié)構(gòu),它可能有如下所示的格式:

為了描述電話號碼本中兩個條目之間的關(guān)系,我們加入了compareTo方法(如下圖中陰影里的域)。

來自俄勒岡州107次大會代表團的電話號碼條目數(shù)組,根據(jù)電語號碼(陰影表示)進行排序的前后。

當this 在邏輯上小于、等于或者大于other的時候,compareTo方法返回一個小于、等于或者大于0對照整數(shù)?,F(xiàn)在就可以修改前面所介紹的任何一種排序方法來對這個電話號碼條目數(shù)組進行排序:

對這個插入排序例程進行詳細分析后,發(fā)現(xiàn)所有的“<”操作符都被替換成了對負的compare To返回值的檢查。結(jié)果是,數(shù)組中的電話號碼條目以電話號碼的升序進行排列。

如果兩個或者更多的人使用相同的分機號碼,則最后條目的順序取決于排序的穩(wěn)定性。如果排序是穩(wěn)定的,則排序后數(shù)組中具有相同分機號碼的電話號碼條目的相對順序,與未排序之前它們的相對順序是相同的。如果排序不是穩(wěn)定的,則不能保證這一點。為了確保條目,比如說,根據(jù)分機號碼進行升序排列,在共用分機號碼的情況下,根據(jù)名字升序排列,可以使用下面compareTo程序:

當對象不能夠完全有序的時候,可能很難使用compareTo方法正確地描述兩個對象之間的關(guān)系。一個運動隊可能總是嚴格小于另外一個運動隊嗎?一個集合總是包含另外一個集合嗎?不是的。這些就是部分有序的例子,通常,大多數(shù)的類型都是完全有序的。

以上就是對java對象排序的一些介紹,相信通過上面的例子,大家知道了為什么要對java對象排序,這樣對于后面的文章和java視頻教程中學習怎樣進行java對象排序奠定了基礎(chǔ)。

培訓啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹慎!任何要求預付定金、匯款等方式均存在風險,謹防上當。