gpt4 book ai didi

Java - 直接访问包含给定值的列表中的对象

转载 作者:行者123 更新时间:2023-12-02 06:57:47 25 4
gpt4 key购买 nike

我正在寻找一种在 Java 中直接访问包含给定对象的列表中的对象的方法。

我的意思是这样的

List<ObjectA> list = new ArrayList<ObjectA>();
Objectb objb = new ObjectB();
list.add(new ObjectA(objb, new ObjectB()));

ObjectA containsObjB;
boolean gotit= false;
for(ObjectA a: list)
{
for(ObjectB pObjB: a.getObjBs())
{
if(pObjB.equals(objb)
{
containsObjB = a;
gotit = true;
break;
}
if(gotit) break;
}
}

这将是一个漫长的过程,但由于此操作确实对时间至关重要,我想知道是否有可能映射列表,以便我可以立即访问正确的 ObjectA。

不确定这是否可行,如果没有,欢迎提出如何使其更快/更快的建议。

问候塞巴斯蒂安

最佳答案

好吧,如果您无法使用列表,并且列表尚未排序或未按已知顺序,则必须查看每个项目。

即使您想构建索引/ map ,您仍然必须查看每个项目才能构建 map ...因此,如果是一次性查找,则暴力可能是最佳选择.

如果这种情况很常见,您可以构建某种索引,例如 objb:obja 的 Map,假设每个 B 只在一个 A 中...

或者您可以更改代码,使其不再是列表的列表,而是针对查找进行优化的集合。

关于Java - 直接访问包含给定值的列表中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076367/

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