导图社区 Java集合框架
Java基础中的集合框架(ArrarList/HashMap/concurrentHashMap等)。java集合Java基础中的集合框架(ArrarList/HashMap/concurrentHashMap等)。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
Java集合框架
Collection
是集合List,set,queue最基本接口
List
ArrayList
排列有序,可重复
底层使用数组
速度快,增删慢,getter()和setter()方法快
读取速度快
线程不安全
容量不够时,容量的计算方式
Vector
速度快,增删慢
线程安全,效率低
容量不够时,Vector默认扩展一倍容量
LinkedList
底层使用双向循环链表数据结构
查询速度慢,增删快,add()和remove()方法快
set
Set 注重独一无二的性质,该体系集合用于存储无序(存入和取出的顺序不一定相同)集合。 对象的相等性本质是对象的hashCode值(java 是依据对象的内存地址计算出此序列号)判断的。 如果想让两个不同对象视为相等,就必须覆盖Object的hashCode和equals方法。
HashSet
hashSet 通过 hashCode值来确定元素在内存中的位置, 一个hashCode位置上可以存放多个元素
排列无序,不可重复
底层使用Hash表实现
存取的速度快
内部是HashMap
TreeSet
底层使用二叉树实现
排序存储
内部是TreeMap的SortedMap
LinkedHashSet
采用hash表存储,用双向链表记录插入顺序
内部是LinkedHashMap
queue
在两端出入的list,可以用数组或链表来实现
Map
是映射表的基本接口
HashMap
数组+链表+红黑树 LinkedHashMap 是 HashMap的子类
键不可以重复,值可以重复
底层是哈希表
允许key值为null,value值也可以为null
concurrentHashMap
segment段
线程安全的,继承ReentrantLock加锁
并行度
Java7和Java8的实现
HashTable
底层哈希表
线程安全
key,value值都不允许为null
TreeMap
底层二叉树
LinkedHashMap
记录插入顺序