TreeSet 底层实际使用的存储容器就是 TreeMap,他们的关系就像HashMap和HashSet的关系。 TreeSet采用了TreeMap作为其Map保存“键-值”对,所以TreeSet判断元素重复是依靠Com…
分类:java集合
Java集合源码分析(二)ArrayList
ArrayList简介 ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以…
Java集合源码分析
Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterato…
java集合类源码分析之Map(一)
java集合中Map接口的实现类有HashMap、Hashtable、LinkedHashMap和TreeMap,与List不同的是Map并不是继承自Collection接口。可以这样来理解它: Map提供key到v…
Java集合详解及List源码分析
对于数组我们应该很熟悉,一个数组在内存中总是一块连续的存储空间,数组的创建使用new关键字,数组是引用类型的数据,一旦第一个元素的位置确定,那么后面的元素位置也就确定了,数组有一个最大的局限就是数组一旦创建,他的长度就是…
Java集合(13)--LinkedHashMap源码分析
HashMap使用哈希表来存储数据,并用拉链法来处理冲突。LinkedHashMap继承自HashMap,同时自身有一个链表,使用链表存储数据,不存在冲突。 LinkedList和LinkedHashMap一样使用一个双…
【java集合类】ArrayList和LinkedList源码分析(jdk1.8)
前言: ArrayList底层是依靠数组实现的,而LinkedList的实现是含前驱后继节点的双向列表。平时刷题时会经常使用到这两个集合类,这两者的区别在我眼中主要是ArrayList读取节点平均时间复杂度是O(1)…
java集合框架03——ArrayList和源码分析
最近忙着替公司招人好久没写了,荒废了不好意思。 上一章学习了Collection的架构,并阅读了部分源码,这一章开始,我们将对Collection的具体实现进行详细学…
Java集合(6)--LinkedList源码分析
ArrayList和Vector都实现了RandomAccess接口,而LinkedList没有,RandomAccess接口是一个空接口,所以它没有实际意义,就是一个标记,标记这个类支持快速随机访问,所以,arrayL…
Java集合干货——ArrayList源码分析
ArrayList源码分析 前言 在之前的文章中我们提到过ArrayList,ArrayList可以说是每一个学java的人使用最多最熟练的集合了,但是知其然不知其所以然。关于ArrayList的具体实现,一些基本的都也…
7.Java集合-Arrays类实现原理及源码分析,Java集合---Arrays类源码解析
Java集合—Arrays类源码解析 转自: http://www.cnblogs.com/ITtangtang/p/3948765.html 一、Arrays.sort()数组排序 Java&n…
Java集合源码分析(六)TreeSet
TreeSet简介 TreeSet 是一个有序的集合,它的作用是提供有序的Set集合。它继承于AbstractSet抽象类,实现了NavigableSet<E>, Cloneable, java.io.S…