初识集合框架 [数据结构 初阶]
目录
集合框架
1. 什么是集合框架?
2. 集合框架的重要性
2.1 开发中的使用
3. 背后涉及到的数据结构以及算法
3.1 什么是数据结构
3.2 容器 (集合框架) 背后对应的数据结构
3.2.1 Collection
3.2.2 List
3.2.3 Stack
3.2.4 Queue
3.2.5 Deque
3.2.6 Set
3.2.7 Map
3.3 什么是算法
集合框架
1. 什么是集合框架?
// 集合框架官方解释
// Java 集合框架 (Java Collection Framework), 又被成为容器 (container), 是定义在 java.util 包下的一组接口 (interface) 和 其实现类 (classes)
// 其主要表现为将多个元素 (element) 置于一个单元中, 用于对这些元素进行快速便捷的 存储 (store), 检索 (retrieve), 管理 (manipulate), 就是我们平时说的 增删查改 (CRUD)
// 我认为, 集合框架就类似于一种集合, 包含了很多其他的元素
2. 集合框架的重要性
2.1 开发中的使用
// 使用成熟的集合框架, 有助于我们便捷, 快速的写出高效, 稳定的代码
// 学习背后的数据结构知识, 有助于我们理解各个集合的优缺点及使用场景
3. 背后涉及到的数据结构以及算法
3.1 什么是数据结构
// 数据结构 (Data Structure) 是计算机存储, 组织数据的方式, 指相互之间存在一种或多种特定关系的数据元素的集合
3.2 容器 (集合框架) 背后对应的数据结构
3.2.1 Collection
// 是一个接口, 包含了大部分容器常用的一些方法
3.2.2 List
// 是一个接口, 规范了 ArrayList 和 LinkedList 中要实现的方法
// ArrayList: 实现了 List 接口, 底层是动态类型顺序表
// LinkedList: 实现了 List 接口, 底层为双向链表
3.2.3 Stack
// 底层是栈, 栈是一种特殊的顺序表
3.2.4 Queue
// 底层是队列, 队列是一种特殊的顺序表
3.2.5 Deque
// 是一个接口
3.2.6 Set
// 集合, 是一个接口, 里面放置的是 K 模型
// HashSet: 底层是哈希桶, 查询的时间复杂度为 O(1)
// TreeSet: 底层是红黑树, 查询的时间复杂度为 O( ), 关于 key 有序
3.2.7 Map
// 映射, 里面存储的是 K-V 模型的键值对
// HashMap: 底层为哈希桶, 查询时间复杂度为 O(1)
// TreeMap: 底层是红黑树, 查询的时间复杂度为 O(), 关于 key 有序
3.3 什么是算法
// 算法(Algorithm): 就是定义良好的计算过程, 它取一个或一组的值为输入, 并产生出一个或一组值作为输出
// 简单来说算法就是一一系列的计算步骤, 用来将输入数据转化成输出结果