当前位置: 首页 > ds >正文

初识集合框架 [数据结构 初阶]

目录

集合框架

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( \log_{2}N), 关于 key 有序

3.2.7 Map

// 映射, 里面存储的是 K-V 模型的键值对

// HashMap: 底层为哈希桶, 查询时间复杂度为 O(1) 

// TreeMap: 底层是红黑树, 查询的时间复杂度为 O(\log_{2}N), 关于 key 有序

3.3 什么是算法

// 算法(Algorithm): 就是定义良好的计算过程, 它取一个或一组的值为输入, 并产生出一个或一组值作为输出

// 简单来说算法就是一一系列的计算步骤, 用来将输入数据转化成输出结果

http://www.xdnf.cn/news/2608.html

相关文章:

  • 【创新实训个人博客】数据库搭建
  • 03 APQC PROCESS CLASSIFICATION FRAMEWORK (PCF)
  • 《Crawl4AI 爬虫工具部署配置全攻略》
  • uniapp跨平台开发---动态控制底部切换显示
  • Spring XML 外部实体(XXE)指南:示例和预防
  • 图解模型并行框架
  • Day14(链表)——LeetCode234.回文链表141.环形链表
  • 探针台在光电行业的应用
  • 徽客松S1 | 合肥首场 AI 黑客松招募
  • 今日头条安卓版新闻推荐精准度与广告影响测评
  • Python3:Jupyter Notebook 安装和配置
  • 详实的ADC检测电路计算
  • Zabbix 7.0下postgresql 16.6数据库监控配置
  • UI 设计之色彩三色搭配原则:打造和谐视觉体验
  • ubuntu安装git及使用(本地git)
  • 高校毕业论文管理系统小程序实现
  • ASCII字符编码标准及字符表
  • ipa包安装到apple手机上
  • DuckDB:现代数据分析的“SQLite“内核革命
  • 树莓派学习专题<11>:使用V4L2驱动获取摄像头数据--启动/停止数据流,数据捕获,缓存释放
  • Kaamel白皮书:2025版COPPA落地实操指南
  • ASP.NET8.0入门与实战
  • OpenStack私有云详细介绍
  • Go语言手搓协程池
  • 11前端项目总结----详情页放大镜和轮播图
  • 基于STM32、HAL库的HX711模数转换器ADC驱动程序设计
  • TV Launcher汉化版下载-TV Launcher启动器极简pro下载
  • 【Misc】PNG宽高修改 - PNG图片宽高CRC爆破
  • 消息中间件
  • 传统行业的数字化转型:如何通过RTMP推流技术提升实时直播体验