集合继承结构图
2021-10-22 19:56:06 0 举报
JAVA集合继承结构图
作者其他创作
大纲/内容
SortedSet
Vector底层是数组
可迭代的iterator()
TreeSet底层是TreeMap二叉树
Map
非线程安全
LinkedList底层是双向链表
Set
hashNext() next()remove()
collection
可排序集合
collectionniterato方法返回了一个Iterator类型的迭代器
Properties被称为属性类
存储的元素特点:有序可重复存储的元素有下标
继承了Map无序不可重复sortedMap里的元素会自动按大小排序是无序可排序的
转线程安全collections.synchronized()
往TreeSet放数据底层是放进new出来的TreeMap里了
SortedMap
HashMap底层哈希表
基本数据类型可自定义new比较器
放入元素需要实现Comparable并重写compareTo或者使用Comparator接口在创建集合的时候传入一个匿名内部类的比较器
Iterable
初始化容量 10每次扩容 2倍
线程安全的
JDK8后当单向链表上的元素超过 8 时会将 单向链表 转换为 红黑树若红黑树节点小于 6 时会重新将 红黑树 转换为 单向链表
有序指的不是大小排序而是指的存取顺序相同做到这一点就需要下标
ArrayList底层是数组
注: 迭代:遍历 泛化:继承(实线空心箭头) 关联:实线箭头 实现:虚线空心箭头
HashSet底层是HashMap哈希表
List
Map是由键值对span style=\"font-size: inherit;\
存储的元素特点:无序不可重复没有下标
TreeMap底层二叉树
初始化容量11以原容量 *2+1 扩容key和value不能存储null
collection继承了iterable的 iterator 方法
迭代器
Iterator
初始化容量为10每次增减元素判断容量扩容会扩容到原容量的1.5倍
Hashtable底层哈希表
初始化容量:16且初始化容量必须是 2 的倍数默认加载因子:0.75以原容量的2倍扩容
无初始化容量基本单元 Node(节点)随机增删效率高
线程安全的效率较低所有方法都是synchronized修饰的
非线程安全的
因为继承了Hashtable也是线程安全的其中key和value只支持String类型
0 条评论
下一页
为你推荐
查看更多