是否可以间接地在List中排序元素(在Java 7中)?假设列表的元素是具有atributs(post类型为post)的id,text,timestamp(1970年的millisec - 只是数字类型为long)的帖子。 帖子存储在数据库(MySQL)中,它们来自不同的SELECT。这是因为帖子是Twitter上的推文 - 添加了用户的帖子,用户关注的用户帖子以及其他一些帖子。这个想法是做一些SELECTS,每个都得到结果作为列表,这些列表将被添加到一个列表,我想按属性(时间戳)排序。是否有任何简单的方法可以通过此属性(时间戳)间接地(从较高到较低 - 从最新到最旧的帖子)对其进行排序?我知道List有属性排序,我应该对此做点什么。
答案 0 :(得分:2)
您可能希望使用Set
,更具体地说是SortedSet
(基本实现为TreeSet
),而不是List
。但是,这将要求您的帖子类自己实现Comparable
。
当然,在数据库级别总是有ORDER BY
的选项。这样您就可以使用经典的List
。
答案 1 :(得分:0)
您可以使用Order By子句查询数据库,以按时间戳的顺序获取结果,然后您就不必在java端进行排序。
答案 2 :(得分:0)
有两种方法可以做到这一点。您可以使用ORDER BY column
从查询中执行此操作,或使用可比较和比较器对对象进行排序。 link =
http://www.mkyong.com/java/java-object-sorting-example-comparable-and-comparator/