前言
声明,本文用的是jdk1.8
前面章节回顾:
Java集合是Java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*,Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。
Map简介和散列表的概念在上一篇【Java中的Map集合、散列表、红黑树介绍】中已经介绍,这里就不赘述了。本篇主要说的是Java集合中TreeMap和LinkedHashMap~~
一、TreeMap剖析
TreeMap定义:
public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serializable { }
TreeMap简介:
-
底层是红黑树,它方法的时间复杂度都不会太高:log(n) 。
-
TreeMap的映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。
-
TreeMap是非同步的 , 它的iterator 方法返回的迭代器是快速失败fail-fast的。