- 什么是Map数据结构
- 底层就是一个数组结构,数组中的每一项又是一个链表,即数组和链表的结合体
- table是数组,数组的元素是Entry
- Entry元素是一个key-value键值对,它持有一个指向下一个Entry元素的引用,table数组的每个Entry元素同时也作为当前Entry链表的首节点,也指向了该链表的下一个Entry元素
- 常见的实现类
- HashMap
- 一个散列桶(数组和链表),它存储的内容是键值对(key-value)映射
- 是基于hash的原理,使用put(key, value)存储对象到HashMap中,使用get(key)从HashMap中获取对象。当put()方法传递键和值时,会先对键调用hashCode()方法,计算并返回的hashCode是用于找到Map数组的bucket位置来存储Entry对象的,是非线程安全的,所以HashMap操作速度很快
- TreeMap
- 在数据的存储过程中,能够自动对数据进行排序,实现了SortedMap接口,它是有序的集合
- TreeMap使用的存储结构是平衡二叉树,也称为红黑树
- 默认排序规则:使用key的字典顺序来排序(升序),也可以自定义排序规则,要实现Comparator接口
posted @
2021-01-18 20:21
Gen2021
阅读(
55)
评论()
编辑
收藏
举报