我有一個任務,我需要用params(String bookNum,String bookTitle,int qoh,double bookPrice)創建一個BookInventory對象的ArrayList。 bookNum是書的連字號。創建這個數組後,我需要使用Collections類的排序方法。在我的實體BookInventory類中,我需要編寫一個compareTo(),最終將按照bookNum(這是一個String)對arraylist進行排序。我該怎麼做呢?這是我的第一次經歷,我不明白。寫一個公共int compareTo()方法java
回答
這應該讓你開始:
public class BookInventory implements Comparable<BookInventory> {
// code
public int compareTo(BookInventory other){
return bookTitle.compareTo(other.bookTitle);
}
//code
}
的事情,從這個是實現可比帶走,這樣就可以實現自己的自定義,當您進行排序的ArrayList compareTo方法多數民衆贊成自動調用。
要了解更多有關的compareTo和排序,看看這個:
http://download.oracle.com/javase/tutorial/collections/interfaces/order.html
如果你看一個的documentation for the Collections類,你會看到,它實現了兩個sort
mwethods。可以將任何種類的List
與Comparator
對象一起用於比較列表的元素。另一個需要執行Comparable
的任何類型對象的List
。由於compareTo
由Comparable
定義(而Comparator
必須實現compare
),因此它告訴您必須將您的類聲明爲implements Comparable<BookInventory>
,這意味着它必須具有compareTo
方法。請參閱documentation for Comparable.compareTo(T)
瞭解您的方法必須執行的操作。你會發現String
方法compareTo(String)
是有用的。
compareTo()方法用於比較具有多個屬性的兩個對象。 它將返回一個整數來指示比較哪個對象較大。 如果被比較的對象具有自然順序的屬性,則更有意義。
返回值:
- 小於0 - >表示該對象是在之前傳入的對象。
- 大於0 - >的目的是傳遞的對象
- 等於0後 - >兩個對象在同一水平
」等於9「 - >」等於0「 – 2011-03-18 02:41:16
oops我的不好。胖手指打字。最後一個選項應該是「等於0」。 @保羅祝福。謝謝 – 2011-03-18 02:47:01
- 1. compareTo方法java
- 2. Java CompareTo方法
- 3. java - compareTo方法
- 4. Java Override CompareTo方法
- 5. 重寫compareTo時使用compareTo方法?
- 6. CompareTo方法在Java怪怪
- 7. 的Java compareTo方法發出
- 8. java compareTo方法實現
- 9. Java中的CompareTo()方法
- 10. 無法@覆蓋Java中的compareTo()方法
- 11. 公共方法
- 12. 嘗試做一個公共方法
- 13. 學習一個類的公共方法
- 14. Java中使用的方法公衆詮釋,而不是公共靜態INT
- 15. 寫一個CompareTo DataAnnotation屬性
- 16. 寫一個更好的方法int main(){}
- 17. java調用公共方法從
- 18. Java公共靜態布爾方法
- 19. 瞭解java中的compareto()方法
- 20. 使用compareTo方法
- 21. Java的可比接口compareTo方法
- 22. Int compareTo(object obj)
- 23. 與的compareTo()方法
- 24. 重寫compareTo方法的對象類
- 25. 乾淨的可重寫的compareTo()方法?
- 26. 功能重寫的compareTo()方法的
- 27. PriorityQueue和compareTo方法
- 28. 如何重寫compareTo(Java)
- 29. 在一個參數中創建java中的compareTo方法
- 30. Java - 已修改的compareTo方法說它需要返回一個int,但它應該返回一個
爲任何閱讀快速注意不同於忽略equals,輸入這裏的參數不應該是Object類型。 「 – anon58192932 2014-11-18 04:47:14