对LongSparseArray值进行排序

时间:2014-07-03 10:40:48

标签: android sparse-array

我有一个LongSparseArray变量,其中存储的对象实现了Comparable接口。 是否有一种简单的方法可以对它们进行排序,而无需这样做"手动"? 我尝试了Collections.sort(myLongSparseArray),但它没有实现List接口。

另一种方法是将它转换为List,但我还没有找到任何方法来做到这一点。

1 个答案:

答案 0 :(得分:0)

当键是整数或长整数时,

SparseArrayLongSparseArray应被视为有效的哈希表。因此,如果订购对您很重要,那么它就不是最好的类。

通常,当使用散列表类型的数据结构时,则值的唯一性为&获得/设定的效率很重要。

如果是这种情况,也许您应该考虑使用LinkedHashSet?它提供了一种保存唯一项目的方式(基于他们的hashCode& equals函数),但也保留了项目的顺序,并且具有很高的获取/设置效率。

如果排序很重要,那么您可以从LinkedHashSet中提取值列表,然后将其放在List中,并在其上使用Collections.Sort()