按属性java在列表中排序

时间:2013-01-13 23:53:45

标签: java list sorting collections

是否可以间接地在List中排序元素(在Java 7中)?假设列表的元素是具有atributs(post类型为post)的id,text,timestamp(1970年的millisec - 只是数字类型为long)的帖子。 帖子存储在数据库(MySQL)中,它们来自不同的SELECT。这是因为帖子是Twitter上的推文 - 添加了用户的帖子,用户关注的用户帖子以及其他一些帖子。这个想法是做一些SELECTS,每个都得到结果作为列表,这些列表将被添加到一个列表,我想按属性(时间戳)排序。是否有任何简单的方法可以通过此属性(时间戳)间接地(从较高到较低 - 从最新到最旧的帖子)对其进行排序?我知道List有属性排序,我应该对此做点什么。

3 个答案:

答案 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/