Hea*_*ers 1 java collections guava data-structures
是否有保留可逆重复插入顺序的集合?
具体来说,如果我插入以下项目:
1
2
3
1
Run Code Online (Sandbox Code Playgroud)
我希望能够迭代它们并按以下顺序接收它们:
1
3
2
Run Code Online (Sandbox Code Playgroud)
也就是说,我希望它们按降序插入顺序,重复插入导致重新排序.Guava的LinkedListMultimap是我发现的最接近的,但它不支持下行遍历.
Java的LinkedHashSet不起作用,因为它不允许下行遍历.
我也可以使用LRU缓存,但我发现的大多数LRU库都不支持以LRU顺序检索对象.
这个东西有标准名称吗?
如何使用LinkedHashSet,每当您检测到该项目在那里时,您将其删除并重新插入?这是保证插入顺序的唯一方法是您期望的(或其反转).
你可以iterate over the LinkedHashSet通过任何你喜欢的方式创建一个LinkedListover over LinkedHashSet和reverse,例如使用Guava的Lists.reverse方法.