![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
集合
圣体叶凡
一起get,一起grow up,一起success
展开
-
集合专区---第1集(集合的基本介绍)
https://baijiahao.baidu.com/s?id=1617089947709260129&wfr=spider&for=pc原创 2019-04-15 22:00:15 · 290 阅读 · 0 评论 -
集合专区---第2集(HashMap)
1 必须掌握的知识点key和value都能存null 每一次扩容就会很耗费资源 线程不安全(扩容/添加数据)2 原理掌握 1 组成结构:数组+链表+红黑树(红黑树在1.7是没有的),具体流程请看后面的源码分析3 源码分析1 执行new 方法的时候/** * Constructs an empty <tt>HashMap</tt>...原创 2019-04-18 21:36:37 · 130 阅读 · 0 评论 -
集合专区---第3集(HashMap)
原文地址:https://www.cnblogs.com/xiaoxi/p/7233201.html结论:1 new HashMap()默认的负载因子是0.75 ,容量是0 ,因为此时的哈希数组是一个null(自己可以跑源码)2第一次put方法执行的时候会默认16的容量(容量是16不代表能存储16个元素)3每一次扩容就会很耗费资源,源代码看完你就懂了4 key和value都...原创 2019-04-18 20:57:26 · 153 阅读 · 0 评论 -
集合专区---第13集(LinkedList)
1 继承,实现public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable{2 结构node3 源码分析public boole...原创 2019-05-12 23:27:35 · 77 阅读 · 0 评论 -
集合专区---第12集(ArrayList)
1 继承,实现public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{2 结构数组3 源码分析add();public boolean...原创 2019-05-12 22:55:42 · 67 阅读 · 0 评论 -
集合专区---第11集(LinkedHashSet)
1 继承,实现public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, java.io.Serializable {map = new LinkedHashMap<>(initialCapacity, loadFactor)...原创 2019-05-11 14:20:29 · 84 阅读 · 0 评论 -
集合专区---第10集(TreeSet)
1 继承,实现public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializablepublic TreeSet() { this(new TreeMap<E,Object>());...原创 2019-05-11 14:00:30 · 133 阅读 · 0 评论 -
集合专区---第9集(HashTable)
1 HashTable结构(jdk 1.80_201)public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, java.io.Serializable {2 HashTable特点key不能为null(因为代码中需要获...原创 2019-04-30 14:35:34 · 251 阅读 · 0 评论 -
集合专区---第8集(TreeMap)
1 TreeMap的本质是什么?二叉树public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.SerializableNavigableMap 翻译之后叫做: 可导航的Map//比较器,...原创 2019-04-30 11:41:45 · 103 阅读 · 0 评论 -
集合专区---第4集(HashMap为什么线程不安全(hash碰撞与扩容导致))
原文地址:https://www.cnblogs.com/qiumingcheng/p/5259892.html一直以来都知道HashMap是线程不安全的,但是到底为什么线程不安全,在多线程操作情况下什么时候线程不安全?让我们先来了解一下HashMap的底层存储结构,HashMap底层是一个Entry数组,一旦发生Hash冲突的的时候,HashMap采用拉链法解决碰撞冲突,Entry内部的...原创 2019-04-20 16:45:31 · 141 阅读 · 0 评论 -
集合专区---第6集(LinkedHashMap)
1 背景LinkedHashMap继承了HashMap LinkedHashMap<K,V>:HashMap是以key-value形式存储数据的 extends HashMap<K,V>:继承了HashMap,哈希表部分的功能和HashMap相似。 implements Map<K,V>:实现了Map。HashMap已经继承了Map接口,为什么Link...原创 2019-04-23 23:02:03 · 112 阅读 · 0 评论 -
集合专区---第8集(Set相关实现类HashSet之你的良心痛不痛)
前言HashSet 是一个集合,他爸爸是Set,叔叔是List,大姨夫是Map,他很调皮,什么都想要,给个null元素照收无误(允许null元素的存在),但是也很任性,拥有过的东西就会很嫌弃(元素不能重复)。直到有一天它发现了他的亲生父亲原来是HashMap,它的内心是奔溃的,它问Set ,你的良心不痛吗?看完图片的我才明白,原来它亲爸是HashMap我想了想,Set不能有重...原创 2019-04-18 21:16:59 · 115 阅读 · 0 评论 -
集合专区---第5集(java8 HashMap源码详解)
1 put 方法final V putVal(int hash, K key, V value, boolean onlyIfAbsent, boolean evict) { Node<K,V>[] tab; Node<K,V> p; int n, i; if ((tab = table) == null || (n =...原创 2019-04-27 17:21:53 · 104 阅读 · 0 评论 -
集合专区---第14集(ArrayList)
1 继承和实现public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable2 结构底层是数组结构+同步方法3 源码解析public synchroni...原创 2019-05-12 23:34:32 · 102 阅读 · 0 评论