我尝试浏览文档和堆栈溢出,但无法弄清楚现实生活中编程中维护插入顺序的具体需求。我经历过,维护插入顺序的 Java 集合,但这也不能满足我的好奇心。
我的意思是,过去几年我见过各种代码库和编程,但没有看到人们使用
LinkedHashSet
,而HashSet
和TreeSet
非常流行,LinkedHashMap
也是如此。那么维护插入顺序真的是一种罕见的需求吗?我知道 LinkedHashSet,HashSet,
和 TreeSet
之间的区别,但想知道为什么 LinkedHashSet
或 LinkedHashMap
的使用如此罕见?
我对 LinkedHashSet 和 LinkedHashMap 的使用稀有性的评估可能是错误的,但这是我在过去几年执行的项目(银行和医疗保健项目)中看到的。通过这个问题,我还希望验证我对 LinkedHashSet 和 LinkedHashMap 的观察是否正确/不正确,或者是否需要维护一般的插入顺序(在使用 Java Collections Framework 时,我们真正需要插入顺序的情况非常罕见)。
LinkedHashMap
的一个用途是在 LRU 缓存中。