排序Java维护对象集合的顺序
您将如何维护收集业务对象的顺序
<BO1, BO2, BO3, BO4>
所以当你移除BO2,amd BO4时,你会得到
<BO1, BO3>
然后当你加上BO2
<BO1, BO2, BO3>
你可以在下面搜索框中键入要查询的问题!
您将如何维护收集业务对象的顺序
<BO1, BO2, BO3, BO4>
所以当你移除BO2,amd BO4时,你会得到
<BO1, BO3>
然后当你加上BO2
<BO1, BO2, BO3>
# 1 楼答案
使用分类数据集
http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html
# 2 楼答案
除非使用排序顺序,否则我不知道集合应该如何知道BO2应该进入中间。
如果您的业务对象实现了可比较的
# 3 楼答案
有两个选项:使用
List
并通过在适当的位置插入来自己进行排序,或者使用已排序的集合我认为您需要的排序集合是
SortedSet
http://docs.oracle.com/javase/6/docs/api/java/util/SortedSet.htmlSortedSet需要条目来实现
Comparable
接口还有一个问题,你应该看看:Sorted collection in Java
# 4 楼答案
问我的问题:
我想如果人们对随机访问不感兴趣,PriorityQueue也是一个解决方案
# 5 楼答案
有几种方法可以做到这一点,但这取决于要使用的集合类型。显然,您不希望维护插入的顺序,而是希望维护基于列表中元素类型的顺序
因此,在说使用这个或那个之前,先问自己以下问题:
我的收藏能否保存重复的元素强>
1)如果是:则可以使用
List
对象(ArrayList
、LinkedList
等)的实现。但每次插入后,您需要对列表进行排序:为了避免在每次插入时对列表进行排序,可以使用Apache Commons集合中的^{} 实现
2)如果上一个问题的答案是“否”。那么使用^{} ,就不需要使用该实现在每次插入时对集合进行排序
请注意,您的对象元素必须实现^{} 接口才能进行排序
# 6 楼答案
使您的业务对象^{} 并使用排序的集合(如^{} ,它是^{} )