Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过atribute java在列表中订购post_Java_List_Sorting_Collections - Fatal编程技术网

通过atribute java在列表中订购post

通过atribute java在列表中订购post,java,list,sorting,collections,Java,List,Sorting,Collections,是否可以间接地对列表中的元素排序(在Java7中)?假设列表中有post元素,这些元素具有atributs(post类型的atributs)id、text、timestamp(从1970年开始的毫秒-仅数字类型长)。 这些帖子存储在数据库(MySQL)中,它们来自不同的选择。这是因为帖子是推特上的东西——添加用户的帖子,用户关注的用户帖子,也许还有其他一些。这个想法是做一些选择,每个结果作为列表,这些列表将被添加到一个列表中,我想按atribute(时间戳)排序。是否有任何简单的方法可以通过这个

是否可以间接地对列表中的元素排序(在Java7中)?假设列表中有post元素,这些元素具有atributs(post类型的atributs)id、text、timestamp(从1970年开始的毫秒-仅数字类型长)。
这些帖子存储在数据库(MySQL)中,它们来自不同的选择。这是因为帖子是推特上的东西——添加用户的帖子,用户关注的用户帖子,也许还有其他一些。这个想法是做一些选择,每个结果作为列表,这些列表将被添加到一个列表中,我想按atribute(时间戳)排序。是否有任何简单的方法可以通过这个时间戳间接地对它进行排序(从高到低,从最新到最旧的帖子)?我知道列表有属性sort,我可能应该做点什么。

您可以使用ORDERBY子句查询数据库,以按时间戳的顺序获得结果,这样您就不必在java端进行排序。

有两种方法。您可以通过使用
按列排序
或使用comparable和comparator对对象进行排序,从查询中执行此操作。链接=


您可能希望使用
集合
,更具体地说是a(它的基本实现是a),而不是
列表
。然而,这将要求post类自己实现


当然,在数据库级别总是可以选择按排序。通过这种方式,您可以使用经典的
列表

为您的
Post
类编写
比较器
,并使用
集合。排序(列表,比较器)
@SJuan76供参考,在链接注释中使用%20作为空格和带\的转义参数。但我不知道如何编写那个该死的比较器。@user1097772请仔细阅读javadoc,以google为例,有很多不可能或太复杂的查询,正如我在问题中所写的,因为我从数据库中的多个选择中获得列表,我会做一次选择,第二次,第三次,…(因为我对它们有不同的要求),然后我会对它进行排序。我不确定-当我使用Set时,排序的属性不是唯一的,这不是问题吗?从理论上讲,可能会有更多的帖子使用相同的时间戳。你不仅仅局限于比较时间戳。你说它们里面有一个id,这是非常独特的:如果时间戳相等,比较id。