java - 如何通过索引随机访问 O(1) 排序集

标签 java list sorting

需要一个字符串集合,其中插入的元素需要排序且不重复,可以通过索引检索。

  • 我可以使用 TreeSet 删除重复项并对所有内容进行排序 订购但无法通过索引检索。通过检索 索引,我可以为它制作 ArrayListaddAll 元素,但这 addAll 需要很多时间。

  • 我可以使用 ArrayList,插入所需元素,然后通过其他方法删除重复元素,然后使用 Collections.sort 方法对元素进行排序。

但问题是,所有这些都需要时间,是否有任何直接的方法可以实现这一点,一个集合排序,非重复,按索引随机访问 O(1)。

最佳答案

commons 集合中有一个名为 SetUniqueList 的数据类型,我相信它可以完美地满足您的需求。检查一下:

https://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/list/SetUniqueList.html

关于java - 如何通过索引随机访问 O(1) 排序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701620/

相关文章:

java - JAXB 编码声明的父类与实际运行时子类

Java字节码执行不理解go语句在字节码中的工作原理

Java Swing JTree 树模型 - 如何进行延迟初始化

python - 作为键的单词词典和作为值出现的句子

postgresql - 使用层次结构对列进行排序,并使用附加列进行排序

java - 对混合数据列表进行排序?

java - perl 到 java 程序的持续响应

python - 通过后缀组合列表元素

list - 方案对构建

c++ - 在对其成员之一进行排序后移动结构数组的其余成员