集合框架基础之Java

引言

集合框架是数据结构的 “具象化载体”,我们在掌握框架后,就能够更轻松地理解复杂数据结构的设计逻辑。

本篇文章目标

1、了解什么是集合框架
2、了解集合框架背后涉及的数据结构

1.什么是数据结构

1.1定义

数据结构名:Data Structure,是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。其实,本质上就是把数据元素按照一定的逻辑关系组织起来,并把这种逻辑关系在计算机中进行存储和实现。

1.2分类

数据结构的逻辑结构分为:集合结构、线性结构、树形结构、图形结构
存储结构分为:顺序存储、链式存储、索引存储、散列存储

2. 什么是集合框架

Java集合框架的官方教程

集合框架Collection Framework是编程语言中封装了 数据存储、操作、管理的工具集合,核心是提供一套标准化的类和接口,用于高效存储、访问、修改多个数据。
Java集合框架的全称为:Java Collection Framework, 又称为container,是定义在java.util包下的一组接口interfaces和其实现类classes。主要表现为多个元素置于一个单元中,用这些元素快速、便捷的进行增删查改CRUD

类和接口的总览
浅黄色矩形代表 接口(*interface*),浅蓝色矩形代表 抽象类(*abstract class*),棕色矩形代表 类(*class*)

3.集合框架的重要性

  • 集合框架的实现是经过严格优化的,我们可以直接调用来满足自己的所需。同时,集合框架定义了标准化的接口,如:List接口,降低了代码的耦合性。
  • 使用成熟的集合框架有助于我们便捷,快速的写出高效、稳定的代码。
  • 学习集合框架背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景。

4.集合框架背后的数据结构及算法

4.1容器背后对应的数据结构

对于小白来说,对于这部分可以先大概了解一下,后续随着学习的深入会越来越明白,不需要死记硬背。

  1. Collection:接口,包含大部分容器常用的一些方法
  2. List:是一个接口,规范了ArrayList 和 LinkedList中要实现的方法
    ArrayList:实现了List接口,底层为动态类型顺序表
    LinkedList:实现了List接口,底层为双向链表
  3. Stack:底层是栈,栈是一种特殊的顺序表
  4. Queue:底层是队列,队列是一种特殊的顺序表
  5. Deque:是一个接口
  6. Set:集合,是一个接口,里面放置的是K模型
    HashSet:底层为哈希桶,查询的时间复杂度为O(1)
    TreeSet:底层为红黑树,查询的时间复杂度为O( log ⁡ 2 N \log_2 N log2N),关于key有序
  7. Map:映射,里面存储的是K-V模型的键值对
    HashMap:底层为哈希桶,查询时间复杂度为O(1)
    TreeMap:底层为红黑树,查询的时间复杂度为O( log ⁡ 2 N \log_2 N log2N),关于key有序

4.2 什么是算法

  • 算法是解决特定问题的、有限步骤的、可执行的指令集合,本质是 “把输入数据转化为目标结果的清晰流程”。它并非仅存在于编程中,小到日常 “煮奶茶的步骤”,大到 “导航软件规划路线”,本质都是算法 —— 核心是 “有序、可行、无歧义”。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。
  • 算法的核心特征:输入、输出、有限性、确定性、可行性
  • 算法的本质不是 “能完成任务”,而是 “更优地完成任务

结语

如何判断算法的好坏?什么样的算法才是好算法?下篇文章会进行详细说明。

最后:学好数据结构需先吃透线性、树形等基础结构的原理与特性,再通过LeetCode等平台大量刷题实践,用代码亲手实现链表、树等结构的增删改查操作,同时刻意分析不同实现的时空复杂度,最后结合项目理解其在实际场景中的应用逻辑。一定要多练习!一定要多练习!一定要多练习!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值