Java源码分析
大叔是个唐僧肉
一个爱打篮球的程序员
展开
-
Java容器源码分析——HashSet是如何保证元素的不可重复
一、前言 HashSet的基本特点是元素不可重复,但是不能保证元素的顺序;同时也是不同步的,所以多线程常见会存在线程安全问题。在开发过程中,HashSet是一个不错的去重工具。那是具体的实现机制是怎样的呢?马上开始揭晓。 二、源码解读 特性 HashSet继承了集合框架AbstractSet<E>,保证了集合的基本特征,实现了接口Set包含了基本集合操作,实现了接口Cloneable支持克隆,实现了Serializable支持序列化。 public class HashSet<原创 2020-05-23 14:02:06 · 475 阅读 · 0 评论 -
Java容器源码分析之LinkedList到底是怎样的一个链表
上一篇我们分析了ArrayList的源码部分,基本了解了ArrayList实际是对数组的增删改查进行了包装,而且支持动态扩容。但是ArrayList和数组一样,同样存在查找快,增删慢的特点 。有没有容器更适合用来存在和删除的元素呢,链表就是其中一种适合增删的数据结构,而LinkedList就是链表结构应用之一。 继承体系: LinkedList继承了抽象类AbstractSequential...原创 2019-05-04 20:04:38 · 104 阅读 · 0 评论 -
Java容器源码分析之ArrayList包装了数组实现了动态扩容
ArrayList是平时编码中被使用最多容器之前,与数组有许多相似之处,但是又有很多不同,比如声明时无需声明容器的大小,但是在添加元素时又给人感观是元素的数量没有限制,那么究竟其原理是怎么实现的?让我们一探究竟。原创 2019-05-01 10:58:31 · 122 阅读 · 0 评论