gpt4 book ai didi

java - 存储多个 HashMap 与在 java httpsession 对象中存储包含所有 HashMap 的一个列表

转载 作者:行者123 更新时间:2023-11-30 06:21:31 24 4
gpt4 key购买 nike

一旦我们从 Web 服务检索数据,我们就需要在 httpSession 中存储一个 HashMap ,这样我们就不会再次触发该 Web 服务。应用程序中可能有多个 HashMap 。我们可以将它们单独存储为单独的 HashMap ,或者将它们全部存储在一个列表中,并将该单个列表对象存储在 httpSession 中。

从性能和内存角度来看,哪种方法可能是存储这些对象的更好方法?单独的 HashMap 或包含所有这些 HashMap 的列表。

我认为存储为单独的 HashMap 的一个优点是我们不需要迭代列表来查找值是否存在。

最佳答案

与其将其存储为HashMap的列表,不如将其存储为hashmap的hashmap,这样可以避免列表的迭代,并且可以在O(1)的时间内获得所需的HashMap。这使得它比 HashMap 的 List 更有效的解决方案。

例如:- 如果您的 HashMap 的类型为 HashMap<String,String> ,那么就可以创建一个HashMap>,其中key是存储的HashMap的唯一标识。如果您想单独存储它们,则无论如何您都需要此 key 。

这与单独存储这些 HashMap 相同,但它是一种更干净的方法,因为您知道您只需要处理 1 个数据结构,并且将提高代码的可读性。

谈到性能或内存优化,很难猜测,尽管我猜测不会有太大差异,并且您必须使用一些分析工具,例如 yourkit、AppDynamics、visualVM 来计算出来了。

关于java - 存储多个 HashMap 与在 java httpsession 对象中存储包含所有 HashMap 的一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48055643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com