Stack 类表示后进先出(LIFO)的对象堆栈。Stack 类继承了 Vector 类,并且对其进行了 5 个同步方法的扩展。 由于 Vector 基于数组实现,Stack 底层也是数组,其下标 0 的位置是栈底,数组…
标签:java集合源码分析
Java集合框架——HashMap源码分析
HashMap基于哈希表实现的,每一个元素都是一个 key-value 对,内部通过单链表解决冲突的问题。 HashMap不是线程安全的,ConcurrentHashMap 是线程安全的。 public class Ha…
Java集合框架——LinkedHashMap源码分析
LinkedHashMap 继承了 HashMap 类。 HashMap 类的源码详细分析参考博客:HashMap源码分析 LinkedHashMap底层仍是数组和链表实现的。但是为什么可以在迭代时,返回和插入顺序相同的…
Java集合框架——LinkedHashSet源码分析
LinkedHashSet 是基于 LinkedHashMap 来实现的,所以其迭代时可以采用插入顺序或者访问顺序。 LinkedHashSet 的源码很简单,但需要搞清楚 HashMap,LinkedHashMap,H…
源码分析篇--Java集合操作(2)
4、两大集合接口 在Java集合中,有两大集合,一个是Collection接口及其实现类,另一个是Map接口及其实现类。下面给出这两种集合的框架图。如下所示。 4.1Collection接口框架图 4.2Map接口框架图…
# 源码分析篇--Java集合操作(8)根据源码设计一个顺序表
2.6.6 get(int index)方法 我们知道,顺序表中的get方法通过元素的索引获取底层数组的元素。我们可以把该方法理解为顺序表的查询操作,该方法返回元素范型类型,源代码如下所示: public E get(i…
源码分析-java集合-基于jdk7
先列题目,后续补上
Java集合——HashMap底层实现与原理源码分析——JDK1.8
一 概述 HashMap 最早出现在 JDK 1.2中,底层基于散列算法实现。HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这…
Java集合——LinkedList源码分析
一 前言 上一篇我们介绍了ArrayList源码解析有想看的同学可以点击这个链接ArrayList源码解析。平时我们或多或少都用过LinKedList,但是对其原理不是很了解,我们就来一起学习吧。 二 源码解析 1. L…
Java集合框架常用类源码分析与总结
Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterato…
Java集合框架之Map---HashMap和LinkedHashMap源码分析
1、HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。…
Java 集合框架源码分析(一)——ArrayList
简介 ArrayList中是平常比较常用的一个集合类,经常帮助我们封装一些实体Bean的List集合。典型使用场景如下: List<Book> bookList=new ArrayList<Book&g…