集合源码
文章平均质量分 90
_等风来
等风来不如追风去
展开
-
JDK源码解析之ArrayList
一、ArrayList简介 ArrayList在我们工作中的使用率非常高,它是个数组队列,相当于一个动态数组,相比于JAVA数组而言它的容量可以动态增长,而且提供了很多方法方便于我们使用, 它继承于 AbstractList ,实现了List 、RandomAccess 、Cloneable 、java.io.Serializable 接口。 ArrayLis原创 2017-08-04 17:40:31 · 210 阅读 · 0 评论 -
JDK源码解析之LinkedList
一、 LinkedList简介 LinkedList 跟 ArrayList一样实现了List接口,但跟ArrayList不同的是ArrayList采用的是数组作为存储元素的容器,所以ArrayList可以直接用角标获取元素,所以ArrayList查询效率较高, 但在添加和删除元素的速度比较慢,因为得移动元素。而LinkedList采用的是链表来存储元素, 因为它没有下标,所原创 2017-08-04 17:42:13 · 239 阅读 · 0 评论 -
JDK源码解析之HashMap
一、HashMap 简介 前面介绍了LinkedList和ArrayList两个常用的集合,这次介绍的是另外一个常用的集合HashMap。HashMap继承了AbstractMap, 实现了Map,Cloneable, Serializable接口,使用的是键(key)-值(value)对存储方式,key和value都允许为null,key不允许重复 。二、 HashMap 的数据结...原创 2017-08-04 17:43:50 · 156 阅读 · 0 评论 -
JDK源码解析之HashSet
一 、HashSet 的简介 HashSet 继承AbstractSet,实现了Set,Cloneable,Serializable接口。它是用来存储不重复的元素,其内部使用HashMap来存储元素。二 、HashSet 源码 HashSet 的实现比较简单,源码就300多行, 它的大部分方法都是调用了HashMap中的方法。public cl原创 2017-08-04 17:45:25 · 204 阅读 · 0 评论 -
JDK源码解析之LinkedHashMap的两种排序
概述: HashMap 是我们平常项目中经常使用到的集合之一,它存储的是键值对,采用的是 数组 + 链表 + 红黑树的数据结构(详细可看我之前写的一篇关于HashMap的源码的博客),存储的数据是无序的,但是如果我们项目中需要用到有序的HashMap,那么我们可以使用LinkedHashMap,使用归使用, 但是LinkedHashMap 为什么是有序的呢? 接下来就让我们进通原创 2017-10-14 00:19:43 · 1206 阅读 · 0 评论