在Java中有任何有序集的实现吗?
2022-08-31 08:38:13
如果有人熟悉Objective-C,那么有一个名为NSOrderedSet
的集合,它充当Set,其项目可以作为数组的项进行访问。
Java中有类似的东西吗?
我听说有一个名为LinkedHashMap
的集合,但我还没有找到类似的东西。
如果有人熟悉Objective-C,那么有一个名为NSOrderedSet
的集合,它充当Set,其项目可以作为数组的项进行访问。
Java中有类似的东西吗?
我听说有一个名为LinkedHashMap
的集合,但我还没有找到类似的东西。
Set 接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与 HashSet 的不同之处在于,它维护一个运行其所有条目的双链表。此链表定义迭代顺序,即元素插入到集合中的顺序(插入顺序)。请注意,如果将元素重新插入到广告集中,广告订单不受影响。(如果调用 s.add(e) 时,元素 e 将重新插入到集合 s 中,而 s.contains(e) 将在调用前立即返回 true。
每个集合都有一个迭代器()。普通的HashSet的迭代器是相当随机的,TreeSet按排序顺序进行,LinkedHashSet迭代器按插入顺序迭代。
但是,您无法替换LinkedHashSet中的元素。您可以删除一个元素并添加另一个,但新元素不会位于原始元素的位置。在LinkedHashMap中,您可以替换现有键的值,然后这些值仍将按原始顺序排列。
此外,您不能在某个位置插入。
也许你最好使用带有显式检查的ArrayList来避免插入重复项。