java - 为什么我们需要HashMap以外的数据结构

标签 java data-structures collections stl hashmap

Map(或 HashMap)插入、删除和检索需要恒定的时间。虽然到目前为止我所知道的所有其他数据结构都不需要恒定的时间,并且它们执行上述操作的时间取决于输入的大小。

那么,为什么我们需要所有其他数据结构呢? HashMap不是通用数据结构吗?

最佳答案

map 性能并不是免费的,成本是内存和复杂性。

在您不关心性能以及不需要仅访问集合中的一个元素的所有情况下,都存在其他数据结构。

例如,如果您有给定的元素字符串列表,并且代码中的唯一用途是准确打印出此元素列表,则更好的选择是使用字符串数组。

另一个例子,可能是元素的顺序。如果您关心元素的顺序,那么 Map 不是您应该使用的数据结构,因为不能保证顺序,因此您必须每次需要时进行排序。

这只是两个示例,每个存在的数据结构还有许多其他示例。

关于java - 为什么我们需要HashMap以外的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41777381/

相关文章:

c# - 如何从表示 C# 或 VB 中的目录结构的字符串列表创建集合

java - Oracle+JDBC 挂起故障排除

Java 异常 : length of java. 版本字符串低于 2:10

java - 如何在 Java 中将 Set 排序为列表?

python - 如何将树形元组转换为矩阵形元组?

c# - 从顶点组合中找到最小的不规则多边形(性能关键)

java - 打乱二维数组,同时将列元素保持在一起

java - 根据不同的请求读取具有多个值的XML主体元素

java - 在Java中将马沿x轴和y轴旋转10度角

java - 使用ArrayList(或更好的链接列表)编写自己的队列在技术上是否正确?[下面的java代码]