有序的意思是对于放入map中的数据,当需要输出这些数据时用户可以提前知道或者预测出它是怎样的一种输出顺序。不像HashMap这种输出顺序是不可知的。
1.LinkedHashMap
LinkedHashMap像HashMap一样允许null key,内部通过维护一个双向链表,当迭代输出时可以以插入顺序(通常情况下是插入顺序,还可以是访问顺序)输出,因此性能稍微比HashMap低一点。当重新插入一条数据(也就是put一个已经存在的key)时不会影响插入顺序。LinkedHashMap让用户从未指定的、混乱顺序的Map实现HashMap和HashTable中解脱出来。并且与TreeMap相比,没有增加插入代价。
2.TreeMap
TreeMap是基于红黑树实现的,这个map的key是有序的,两种方式:一种是key实现Comparable接口,一种是在构造函数中传入Comparator。
本文详细介绍了两种有序Map的实现——LinkedHashMap和TreeMap。LinkedHashMap基于双向链表保持元素的插入或访问顺序,而TreeMap则利用红黑树确保键值的排序。两者都在特定场景下提供了优于普通HashMap的功能。
4384

被折叠的 条评论
为什么被折叠?



