我有一个LongSparseArray
变量,其中存储的对象实现了Comparable接口。
是否有一种简单的方法可以对它们进行排序,而无需这样做"手动"?
我尝试了Collections.sort(myLongSparseArray)
,但它没有实现List接口。
另一种方法是将它转换为List,但我还没有找到任何方法来做到这一点。
答案 0 :(得分:0)
SparseArray
或LongSparseArray
应被视为有效的哈希表。因此,如果订购对您很重要,那么它就不是最好的类。
通常,当使用散列表类型的数据结构时,则值的唯一性为&获得/设定的效率很重要。
如果是这种情况,也许您应该考虑使用LinkedHashSet
?它提供了一种保存唯一项目的方式(基于他们的hashCode
& equals
函数),但也保留了项目的顺序,并且具有很高的获取/设置效率。
如果排序很重要,那么您可以从LinkedHashSet
中提取值列表,然后将其放在List
中,并在其上使用Collections.Sort()
。