1TreeMap整体结构
TreeMap底层的数据结构就是红黑树,和HashMap的红黑树结构一样,因为底层使用的是平衡红黑树的结构,所以containskey、get、put、remove等方法的时间复杂度都是log(n),比较关键的是通过 compare 来比较 key 的大小
2LinkedHashMap 整体架构
HashMap 是无序的,TreeMap 可以按照 key 进行排序,那有木有 Map 是可以维护插入的顺序的呢?接下来我们一起来看下 LinkedHashMap。
LinkedHashMap 本身是继承 HashMap 的,所以它拥有 HashMap 的所有特性,再此基础上,还提供了两大特性:
按照插入顺序进行访问;
实现了访问最少最先删除功能,其目的是把很久都没有访问的 key 自动删除。
3.1按照插入顺序访问
3.1.1LinkedHashMap链表结构
LinkedHashMap只提供了单向访问,即按照插入的顺序从头到尾进行访问,不能像LinkedList那样双向访问。