gpt4 book ai didi

java - 在由用户定义的数据类型组成的数组列表中搜索

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

我正在尝试开发类似联系人应用程序的东西,我需要在其中添加/删除/搜索/排序联系人。因此,我使用 MyContact 对象的 ArrayList 作为数据结构。

MyContact 包含姓名和号码,因此要对 ArrayList 进行排序,我认为在 ArrayList 中查找模式可能是一项耗时的任务。

目前我正在遍历每个元素并检查模式。我尝试先对列表进行排序,但这也很耗时。

请建议在数组列表中搜索的任何更好的方法,或者我是否应该切换到其他数据类型,我认为在现阶段这风险不大。

最佳答案

听起来您正在尝试尽早优化。软件开发中的常见立场是首先使其正常工作,然后在识别出真正的性能问题后进行优化。也就是说,您不是在寻求软件开发建议,而是在寻求编程建议。

就编程而言,这里有两件事需要优化;性能和代码。

为了保持代码整洁,请尝试利用已经存在的框架/约定,而不是自行构建。看一下 Comparable 接口(interface)和 Java 的 Collections 类的使用。之后是 Apache Commons Collections 库,它已经成为行业标准一段时间了。谷歌的 Guava 似乎正在取代 Commons Collections 作为标准,原因有很多,最值得注意的是更好的泛型支持。

就性能而言,要排序或过滤,您需要评估每个记录/对象(至少一次),以确保其在结果中的顺序/包含正确。唯一真正的替代方法是在搜索之前对数据进行“索引”。为此,(Java)行业标准是 Lucene,但很可能无法满足您的需求。

关于java - 在由用户定义的数据类型组成的数组列表中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13996650/

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