gpt4 book ai didi

java - 存储与处理时间

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:07:05 25 4
gpt4 key购买 nike

我有一个 list<MyObject> ( java LinkedList)。每个对象都有一个键和一个值属性。

客户端 1 需要整个列表。

客户端 2 将传递一个键并期望返回一个值

客户端 3 将传递一个值并期望返回一个键。

问题是,由于 Java 集合使用指向实际对象的指针而不是存储对象,是否值得再存储两个映射。

Map<key, MyObject>服务客户端 2.(java HashMap )

Map<value, MyObject>为客户端 3 提供服务。 (java HashMap)

这将节省迭代整个列表 (list<MyObject>) 和查找匹配键或值所涉及的处理时间。

最佳答案

拥有两个 map 将使编码更容易,考虑到可读性优势,额外 map 的内存开销可以忽略不计。没错,因为它们是对象,所以您不必复制内容,只需复制数据结构即可。

如果在表中存储没有 MyObject 的键/值对,您可以使用 Guava BiMap并去掉 MyObject 的原始列表和开销。这意味着 Client 1 迭代顺序并不重要。

关于java - 存储与处理时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29649550/

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