
#集合
y75xwr
这个作者很懒,什么都没留下…
展开
-
Java容器一览表
一、Collection总览1.Collection功能2.迭代器(Iterable)Iterator也是一个接口,它只有三个方法:hasNext()next()remove()1.List集合特点:有序(存储顺序和取出顺序一致),可重复常见子类:ArrayList底层数据结构是数组。线程不安全LinkedList底层数据结构是链表。线程不安全Vector底层数据结构是数组。线程安全2.Set集合特点:元素不可重复常见子类:HashSet集合底层数据结原创 2020-07-29 16:18:42 · 180 阅读 · 0 评论 -
1.8 HashMap底层实现与源码分析
一、HashMap数据结构使用红黑数红黑树特点每个节点或是红的或是黑的‘根节点是黑的叶节点是黑的如果一个节点是红色的,它的两个叶子节点都是黑色的每个节点,从该节点到它的子孙节点所有路径上包含同等数量的黑节点红黑树的调整父节点是黑色,不用调整父节点是红色:(1与3实现的效果一样)叔叔是空,旋转+变色(G P变色)叔叔是红色,父节点和叔叔节点全变为黑色+父节点变为红色叔叔是黑色的,旋转+变色...原创 2020-07-29 14:36:19 · 125 阅读 · 0 评论 -
1.7 concurrentHashMap底层实现与源码分析
数据结构线程安全通过UNSAFE获取内存中的实时变量值,通过trylock与lock锁锁住一些方法扩容方式底层实现原创 2020-07-29 12:34:38 · 164 阅读 · 0 评论 -
1.7 HashMap底层实现与源码分析
一、HashMap数据结构二、HashMap线程安全三、HashMap扩容方式四、HashMap底层实现五、HashMap内存原创 2020-07-26 16:40:19 · 168 阅读 · 0 评论 -
LinkedList底层实现源码分析与ArrayList区别
数据结构双向数据链结构//在LinkedList类中的属性只有三个属性transient int size = 0;//记录节点个数transient Node<E> first;//记录链表的第一个节点transient Node<E> last;//记录链表最后一个节点常用方法构造方法增加IndexOutOfBoundsExceptionadd()linkFirst()头增linkLast()尾增addAll()删除NoSuchElementEx原创 2020-06-20 10:25:55 · 226 阅读 · 0 评论 -
ArrayList底层实现源码讲解与vector区别
一、ArrayList数据结构ArrayList的底层数据结构是一个类型为Object的数组。数组的初始长度与创建ArrayList对象时使用的构造方法有关注:数组“elementData”是用来存储数据、操作数据的数组“DEFAULTCAPACITY_EMPTY_ELEMENTDATA”是默认的空数组传入的初始长度使用无参构造函数,创建长度为0的数组,在加入第一个数据时会将数组扩容到默认值10使用传相同数据类型的数组的构造函数,长度为传参数组的长度经测试,如果要存100万数据,需原创 2020-06-18 23:22:42 · 532 阅读 · 0 评论