gpt4 book ai didi

Java,在对象列表中搜索?

转载 作者:太空狗 更新时间:2023-10-29 22:50:32 26 4
gpt4 key购买 nike

我在如何以最快的速度实现这一点上有些迷茫。我有大量具有基本变量属性(带有 getter/setter)的对象,我需要在此列表中进行搜索以找到列表中与给定参数匹配的对象

我已经找到了如何进行常规列表搜索,但我需要,例如搜索为列表中的每个对象调用 getName() 的结果值,并获取结果与我的匹配的对象输入。

如下所示,第三个参数是方法调用的结果,第二个是我要查找的内容。

   int index = Collections.binarySearch(myList, "value", getName());

感谢任何建议

最佳答案

如果您只是作为一次性操作需要查找其 getName() 为特定值的对象,那么可能没有太多魔法:循环遍历列表,对每个对象调用 getName(),对于匹配的那些,将它们添加到您的结果列表中。

如果 getName() 是一项昂贵的操作,并且如果给定的对象肯定不会返回匹配值,则有其他一些先验方法可以解决问题,那么显然您可以在循环过程中构建此“过滤”。

如果您经常需要为给定的 getName() 获取对象,则保留 [getName() 的结果 -> 对象 -> 匹配列表] 的索引(例如在 HashMap 中)。您需要决定如何以及是否需要使此“索引”与实际列表保持同步。

另请参阅使用 binarySearch() 但保留列表的其他建议。这样一来,插入比映射和未排序的列表更昂贵,但如果与查找相比插入不频繁,那么它的优点是只需要维护一个结构。

关于Java,在对象列表中搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5187888/

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