java - TreeMap 还是 HashMap ?

标签 java data-structures

何时使用 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/

相关文章:

Java – 使用二维数组和构造函数(初学者)

c - 如何删除链表中的最后一项?

java - 对 JTable 使用 ResultSetTableModel 有什么好处?

java - 如何使用树表显示 Oracle SQL 表中的所有行?

java - 描述 API 用途

java - 如何计算mysql中给定日期内某个项目出现的次数

c - 在 C 中使用快速排序反向排序(降序)?

c - 用于字符数组和结构的 Malloc

c - 这段代码对搜索单向链表中的元素有效吗?

algorithm - 如何随机读取整个数组中散布的所有 1's in an Array of 1' 和 0