【Java基础——集合框架 JCF】概述、总结

本文使用 JDK 版本为 JDK1.15

一、概述

  • Java集合框架(JCF, Java Collectioin Framework),它下辖各种常用的数据结构,比如:线性表、队列、栈、红黑二叉树等等。

  • 我们常用集合对数据进行临时存储;本篇文章的脉络 按照 数据结构 进行分类汇总,下面我们介绍 JCF 体系中,接口与类之间的关系。
    【Java基础——集合框架 JCF】概述、总结

二、List - 线性表

1、ArrayList(顺序存储)

  • 本质上是一个动态数组

重要的内部属性 / 方法
1、为空时,数组的大小默认为0
private static final Object[] EMPTY_ELEMENTDATA = {};
private static final Object[] DEFAULTCAPACITY_EMPTY_ELEMENTDATA = {};
2、添加第一个元素时,数组的默认大小为10
private static final int DEFAULT_CAPACITY = 10;
3、最大容量(2147483647 - 8,一些虚拟机在数组中保留一些头字,尝试分配较大的数组可能会导致OutOfMemoryError:请求的数组大小超过了VM限制):
private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;
4、本源数组:
transient Object[] elementData;
5、数组扩容方法 --> grow(当数组元素仅剩一个空位时进行扩容,扩容后数组容量为原数组的1.5倍):【Java基础——集合框架 JCF】概述、总结

无参构造方法:适合数量不确定时使用:
【Java基础——集合框架 JCF】概述、总结
含参构造方法:适合已知(大致)数量,给定初始大小,以尽可能减少扩容开销【参数 initialCapacity 即为初始大小】:
【Java基础——集合框架 JCF】概述、总结

2、LinkedList(链式存储 - 双向链表)

  • 本质上是一个链表结构

重要的内部属性 / 类
1、首尾节点:
transient Node<E> first;
transient Node<E> last;
2、内部类 Node
【Java基础——集合框架 JCF】概述、总结

3、Vector(顺序存储)

版权声明:玥玥 发表于 2021-06-05 20:06:16。
转载请注明:【Java基础——集合框架 JCF】概述、总结 | 女黑客导航