間接(在Java 7中)可以在List中排序元素嗎?假設列表的元素是帖子,它具有amits(屬性類型Post)id,文本,時間戳(毫秒從1970年 - 只是數字類型長)。 帖子存儲在數據庫(MySQL)中,它們是由於不同的SELECT引起的。這是因爲帖子是推特上的推文 - 添加了用戶的帖子,用戶關注的用戶帖子以及其他人的帖子。這個想法是做一些SELECTS,每個都得到結果作爲列表,這些列表將被添加到一個列表中,我想通過屬性(時間戳)來排序。是否有任何簡單的方法通過這個屬性(時間戳)間接地對它進行排序(從高到低 - 從最新到最舊的帖子)?我知道List有屬性排序,我應該可以做些什麼。java中的排序列表中的排序
回答
您可以使用Order By子句查詢數據庫以按照時間戳的順序得到結果,那麼您不必在java端進行排序。
不可能或太複雜的查詢,因爲我在我的問題中寫道我從數據庫上的多個SELECT列表中,我會做一個選擇,第二,第三,...(因爲我對他們有不同的要求),然後我會對它進行排序。 – user1097772
有兩種方法可以做到這一點。您可以通過使用ORDER BY column
進行查詢,或使用可比較的和比較器來對對象進行排序。鏈接=
http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/
你可能想用一個Set
,並且更具體地SortedSet
(基本實現它是一個TreeSet
),而不是List
。但是,這將要求您的職位類實現Comparable
。
當然,在數據庫級別總是有ORDER BY
的選項。這樣你就可以使用經典的List
。
我不確定 - 當我使用Set時,排序的屬性是不是唯一的問題?理論上可能有更多的帖子具有相同的時間戳。 – user1097772
您不僅限於比較時間戳。你說他們有一個ID,這是非常獨特的:如果時間戳相同,比較ID。 – fge
- 1. Java中的排序和排序庫Eclipse
- 2. 排序列表中的
- 3. elasticsearch中的列表排序
- 4. 排序列表中的Javascript
- 5. Python中的排序列表
- 6. 排序列表(中MaskedTextBox中)
- 7. 合併排序列表java
- 8. 在java鏈接列表中排序
- 9. 在Java中排序數組列表
- 10. 從Android商店中排序Android列表中的排序
- 11. haskell中的列表降序排序
- 12. 序言中的重新排序列表
- 13. 鏈接列表中的排序列表
- 14. F#列表中的排序列表F#
- 15. 按java中子列表中的屬性對列表排序
- 16. Java排序對象的陣列列表
- 17. Java代碼審查:將排序列表合併到單個排序列表中
- 18. Java的排序ArrayList和返回排序列表
- 19. 使用Java中的插入排序方法對鏈表排序
- 20. 排序在java中有列表的對象的列表
- 21. 的Java:排序列表的列表與中將sortOrder
- 22. 添加功能排序列表:選項排序列表中的初始順序
- 23. 排序的ArrayList中的Java
- 24. 從jqueryUI排序表中排序表
- 25. 在Django中排序列表
- 26. 在bash中排序列表
- 27. 在C#中排序列表#
- 28. 在c中排序列表#
- 29. 在PHP中排序列表
- 30. 在Clojure中排序列表
爲您的Post類編寫一個'Comparator',並使用'Collections.sort(list,comparator)' – atomman
@ SJuan76 FYI,在空格中使用%20並且在鏈接註釋中使用\轉義parens。 –
但我不知道該怎麼寫那該死的比較器。 – user1097772