HashMap 和 TreeMap 的本质区别

Posted by 果然 on December 31, 2021

HashMap 和 TreeMap 本质区别

  • 从类的定义看,都继承自AbstractMap,不同的是HashMap实现的是Map接口,而TreeMap实现的是NavigableMap 接口。NavigableMap 是 sortedMap的一种,实现了对Map中 key 的排序。
  • 排序区别:TreeMap 输出结果是排好序的,而 HashMap 的输出结果是不定的。
  • Null值区别:HashMap 可允许一个 null key 和多个 null value,而TreeMap不允许 null key,但允许多个 null value。
  • 性能区别:HashMap 底层是 Array,所以在添加,查找,删除等方法上面速度会非常快,会造成空间的浪费。TreeMap底层是一个Tree结构,所以速度会比较慢,TreeMap 只保存要保存的节点,所以占用的空间比较小。

java 接口的作用

1) 重要性 2) 简单、规范性 3) 维护、拓展性 4) 安全、严密性