如何使用索引进行O(1)随机访问的排序集

cyp*_*aya 6 java sorting list

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

  • 我可以使用TreeSet它删除重复项并按顺序排序所有内容但无法通过索引检索.通过索引检索,我可以制作ArrayList和addAll元素,但这 addAll需要很多时间.

要么

  • 我可以使用an ArrayList,insert required,然后通过其他方法删除重复项,然后使用Collections.sort方法对元素进行排序.

但问题是,所有这些都需要时间,是否有任何直接的方法来实现这一点,一个集合 - 排序,非重复,通过索引进行O(1)随机访问.

小智 3

公共集合中有一个名为 SetUniqueList 的数据类型,我相信它可以完美满足您的需求。一探究竟:

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