0

我有一个LongSparseArray变量,其中存储的对象实现了接口 Comparable。有没有一种简单的方法来对它们进行排序,而无需“手动”进行?我试过Collections.sort(myLongSparseArray)了,但它没有实现 List 接口。

另一种方法是将其转换为列表,但我仍然没有找到任何方法来做到这一点。

4

1 回答 1

0

SparseArray当键是整数或长整数时,应将或LongSparseArray视为有效的哈希表。因此,如果订购对您很重要,那么它不是最好的类。

通常,当使用哈希表类型的数据结构时,值的唯一性和获取/设置的效率很重要。

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

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

于 2014-07-03T10:56:28.860 回答