gpt4 book ai didi

java - 在 Java 中搜索集合的最快方法

转载 作者:行者123 更新时间:2023-11-29 05:19:46 24 4
gpt4 key购买 nike

我参加了一个项目,但我真的很难继续下去了。没有注释、未记录的代码、不一致的命名变量等。

但是,在某些时候我过期了搜索执行缓慢。老实说,我开发的移动应用程序从来没有因为没有太多数据要处理而过期过慢。

好的,有一个A类,包含以下字段:

  • ID整数
  • 信息 1 字符串
  • 信息 2 字符串
  • ... 字符串

在 session 期间,类 A 的集合正在填充新实例。在某些时候,用户会要求选择实例 ID 的实例信息(集合不会按任何顺序按 ID 排序)。平均而言,大约有 2500 个实例 在一些旧设备上需要很长时间才能找到它。 尽快执行此操作的最佳做​​法是什么? (附时间复杂度说明)

给我留下他代码的 Sprite 把它全部放在一个集合里,用线性搜索的方式搜索。

  1. Heapsort,那么二分查找可以多次查找吗?
  2. 按排序顺序添加,然后使用二分查找?
  3. 将数据放入 SQLite 临时表(了解更多数据)并通过查询进行搜索
  4. HashSet 或 TreeSet
  5. 其他的..

最佳答案

如果您要按键搜索集合,通常应使用 HashMap,它会在预期的 O(1) 时间内根据键在映射中查找项目。

但是,如果标识符是数字和连续的(即它们从 0 到 2500 没有间隔),您可以使用 ArrayList,您可以在其中通过 O(1)< 中的索引访问项目 时间。如果标识符是数字且连续的,而且项目的数量是绑定(bind)的,则根本不需要 Collection。数组就可以了。

关于java - 在 Java 中搜索集合的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25230117/

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