java集合
java集合
-夏夜凉月-
最近在把博客里面的内容进行系统的整理,平常比较懒,没怎么写博客,趁最近有时间,做一个系统的整理,进行查漏补缺,如有不正确的望大家指正,笔者每个例子都经过测试,力争不误人子弟。
展开
-
从源码分析java容器之HashSet
HashSet 是一个没有重复元素的集合。它是由HashMap实现的,不保证元素的顺序,而且HashSet允许使用 null 元素。HashSet是非同步的,如果需要保证同步,则需要应该使用 Collections.synchronizedSet 方法来“包装” set。HashSet通过iterator()返回的迭代器是fail-fast的原创 2020-04-24 20:20:42 · 298 阅读 · 0 评论 -
从源码分析java容器之HashMap
HashMap的工作原理通过hash的方法,通过put和get存储和获取对象。存储对象时,我们将K/V传给put方法时,它调用hashCode计算hash从而得到bucket位置,进一步存储,HashMap会根据当前bucket的占用情况自动调整容量(超过Load Facotr则resize为原来的2倍)。获取对象时,我们将K传给get,它调用hashCode计算hash从而得到bucket位置,并进一步调用equals()方法确定键值对。如果发生碰撞的时候,Hashmap通过链表将产生碰撞冲突的元素原创 2020-04-23 20:15:13 · 175 阅读 · 0 评论 -
从源码分析java容器之LinkedList
引言上一篇文章咱们一起分析了ArrayList,本篇咱们一起来看看它的姐妹LinkedList,分析的源码是JDK8版本。1、LinkedList结构图LinkedList继承了AbstractSequentialList,实现了List、Deque、Cloneable、Serializable接口,如下图所示:AbstractSequentialList类:继承AbstractLis...原创 2020-04-22 13:19:08 · 226 阅读 · 0 评论 -
从源码分析java容器之ArrayList
从下面的图中,我们可以看到ArrayList继承自AbstractList,实现了 List 、RandomAccess、Cloneable、Serializable接口,所以ArrayList 是支持快速访问、复制、序列化的。原创 2020-04-21 22:07:45 · 289 阅读 · 0 评论