【问题标题】:Insertion order maintenance need in Java CollectionsJava Collections 中的广告订单维护需求
【发布时间】:2016-03-25 00:47:50
【问题描述】:

我尝试浏览文档和堆栈溢出,但无法弄清楚实际编程中维护插入顺序的具体需求。我经历了Java collections maintaining insertion order,但这也不能满足我的好奇心。

我的意思是,过去几年我见过各种代码库和编程,但没有看到人们使用LinkedHashSet,而HashSetTreeSet 非常流行,LinkedHashMap 也是如此。那么维护插入顺序真的是一种罕见的需求吗?我知道LinkedHashSet,HashSet,TreeSet 之间的区别,但想知道为什么LinkedHashSetLinkedHashMap 的使用如此罕见?

我对 LinkedHashSet 和 LinkedHashMap 使用稀有性的评估可能不正确,但这是我在过去几年执行的项目(银行和医疗保健项目)中看到的。通过这个问题,我还希望验证我对 LinkedHashSet 和 LinkedHashMap 的观察是否正确/不正确,或者一般需要维护插入顺序(在使用 Java Collections Framework 时确实需要插入顺序的情况非常罕见)。

【问题讨论】:

  • 有趣的问题.. 我认为其中一个用例可能是我们需要在某个地方存储令牌,而这些令牌不是按 FIFO 顺序使用的。
  • 我猜在大多数情况下,您只需要按顺序访问或直接访问,而不是两者都需要。在第一种情况下,您将使用List

标签: java collections


【解决方案1】:

我见过的 LinkedHashMap 的一个用途是在 LRU 缓存中。 附言想发表评论,但由于声誉低而无法发表评论。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多