何时使用 HashMap 或树形图?
我知道当我需要对元素进行排序时,我可以使用 TreeMap 对其进行迭代。 但仅此而已吗?只想看图的时候没有优化,或者一些优化的具体用途?
最佳答案
TreeMap
提供有保证的 O(log n) 查找时间(和插入等),而 HashMap
提供 O(1) 查找时间(如果哈希码适本地分散键)。
除非您需要对条目进行排序,否则我会坚持使用 HashMap
。或者当然还有 ConcurrentHashMap
。我不记得所有这些差异的细节,但 HashMap
是一个完全合理的“默认”选项:)
为了完整起见,我应该指出大约一个月前在 Stack Overflow 上讨论了各种 map 的内部结构。见 comments in this question ,如果 bestsss 愿意我这样做,我会将其复制到此答案中。
关于java - TreeMap 还是 HashMap ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329358/