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) 安全、严密性