HashMap、LinkedHashMap和TreeMap区别
- LinkHashMap是基于HashMap和双向链表来实现的。
- HashMap无序,LinkedHashMap有序,可分为插入顺序和访问顺序两种。如果是访问顺序,那put和get操作已存在的Entry时,都会把Entry移动到双向链表的表尾。
- 如果还需要保证统计性能或者需要对Key按照一定规则进行排序,那么使用treemap是一种更好的选择。
- TreeMap为增、删、改、查这些操作提供了log(N)的时间复杂度,
- 从存储角度而言,这比HashMap与LinkedHashMap的o(1)时间复杂度要差些;
- 从统计性能上,TreeMap同时可以保证log(N)的时间开销,这又比HashMap和LinkedHashMap的o(N)时间复杂度好不少。