java - 数据结构-快速查找

标签 java data-structures

什么是最好的数据结构来存储不同类型的对象,这些对象是某个类的子类型。我将需要选择并打印相同类型的对象或将属性设置为特定值的对象。因此数据结构必须易于搜索且快速。我想知道 ArrayList 是否会完成这项工作。

最佳答案

这取决于您需要多“快”的结果。除非毫秒数和/或您有数百万个条目,否则数组列表就可以了。

所以我会保持简单,除非性能不够好(测量性能)。

在这种情况下,您可以使用 HashMap ,其中键是对象的类型,值是所有对应对象的数组列表(假设大多数时候您需要查询对象类型)。这将为您提供 O(1) 搜索。

如果您有不同类型的查询,所有查询的可能性都相同,您可以为每种类型的查询维护一个映射 - 然后它成为速度和内存使用之间的折衷。

关于java - 数据结构-快速查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12133287/

相关文章:

java - Android:如何按下软键盘上方的按钮

java - TestNG with IntelliJ IDEA : How to use the testng. IntelliJ IDEA 9 中的 xml 文件

将链表转换为二叉搜索树?

data-structures - 在磁盘上存储大量不同大小的对象

c++ - 插入稀疏矩阵时出现问题

java - 泛型代码删除不起作用

java - 此给定场景中的 IndexOutofBoundsException 解决方案

java - 按键将对象列表分组到具有唯一对象子列表的列表中(使用java流)

C- 在很长的系列中找到数字的最佳技巧是什么

java - 尝试检查括号是否平衡或不平衡