Map(或 HashMap)插入、删除和检索需要恒定的时间。虽然到目前为止我所知道的所有其他数据结构都不需要恒定的时间,并且它们执行上述操作的时间取决于输入的大小。
那么,为什么我们需要所有其他数据结构呢? HashMap不是通用数据结构吗?
最佳答案
map 性能并不是免费的,成本是内存和复杂性。
在您不关心性能以及不需要仅访问集合中的一个元素的所有情况下,都存在其他数据结构。
例如,如果您有给定的元素字符串列表,并且代码中的唯一用途是准确打印出此元素列表,则更好的选择是使用字符串数组。
另一个例子,可能是元素的顺序。如果您关心元素的顺序,那么 Map 不是您应该使用的数据结构,因为不能保证顺序,因此您必须每次需要时进行排序。
这只是两个示例,每个存在的数据结构还有许多其他示例。
关于java - 为什么我们需要HashMap以外的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41777381/