当前位置:   article > 正文

Java中Map相关的一些数据结构_java map数据结构

java map数据结构

Java中Map相关的一些数据结构

在这里插入图片描述

​Map接口下有两个实现类,分别是HashMap,HashTable,一个子接口SortedMap。

其中:
LinkedHashMap继承了HashMap
TreeMap实现了SortedMap
Properties继承了HashTable

HashMap: 基于哈希表的Map接口实现,是一个键值对的集合,允许使用null值和null键,其键是无序的,并且是唯一的,类似于set集合,值是有序的,并且可以重复,类似于list,其底层数据结构是hash表。

LinkedHashMap: HashMap是无序的,迭代HashMap所得到的元素的顺序并不是放到HashMap中的顺序,即并不能确保他们的插入顺序。LinkedHashMap继承于HashMap,是HashMap和LinkedHash的结合体,具备两者的特性,LinkedHashMap中每一个entry多了一个before和after指针,用于实现双向链表,每次put操作都会将元素插入到双向链表的尾部。

HashTable: HashTable是线程安全的,底层是一个hash表,任何非null的对象都可以用作键和值,其效率相对于HashMap来说低一些。HashTable在各个对数据进行操作的方法上加了synchronized关键字,用于实现同步操作。

Properties: Properties继承于HashTable,其表示一个持久的属性集,属性列表中每一个键及其对应的值都是一个字符串。

SortedMap: SortedMap是Map接口的一个子接口,提供有序的Map实现。

TreeMap: 实现了SortedMap接口,保证了有序性,默认按照key的值进行升序排序,也可以重写comparator方法根据value进行排序。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/983950
推荐阅读
相关标签
  

闽ICP备14008679号