有序的LinkedHashMap和TreeMap

        有序的意思是对于放入map中的数据,当需要输出这些数据时用户可以提前知道或者预测出它是怎样的一种输出顺序。不像HashMap这种输出顺序是不可知的。

1.LinkedHashMap

    LinkedHashMap像HashMap一样允许null key,内部通过维护一个双向链表,当迭代输出时可以以插入顺序(通常情况下是插入顺序,还可以是访问顺序)输出,因此性能稍微比HashMap低一点。当重新插入一条数据(也就是put一个已经存在的key)时不会影响插入顺序。LinkedHashMap让用户从未指定的、混乱顺序的Map实现HashMap和HashTable中解脱出来。并且与TreeMap相比,没有增加插入代价。

2.TreeMap

    TreeMap是基于红黑树实现的,这个map的key是有序的,两种方式:一种是key实现Comparable接口,一种是在构造函数中传入Comparator。

你可能感兴趣的:(java基础)