Java数据结构(一):初识集合框架

🌸雨落在了我的手上:个人主页

🐟个人仓库:Gitee仓库

❄️ 个人专栏:<<JaveSe>> <<C语言>> <<C语言数据结构>>

🔥🔥🔥人生格言:无人扶我青云志,我自踏雪至山巅

🎬 博主简介:

目录

一:什么是集合框架

二:集合框架的重要性

1.开发中的使⽤

2.笔试及⾯试题

三:背后所涉及的数据结构以及算法

1.什么是数据结构

2.容器背后对应的数据结构

3.相关java知识

4.什么是算法

5.如何学好数据结构以及算法


内容大纲:

Java集合框架是定义在java.util包下的接口和实现类,用于高效存储和管理元素组,如扑克牌、邮箱等。框架重要性体现在开发便捷性、代码高效性及面试考点上。主要容器对应不同数据结构:List(ArrayList动态数组/LinkedList双向链表)、Stack栈、Queue队列、Set(HashSet哈希桶/TreeSet红黑树)、Map(HashMap哈希桶/TreeMap红黑树)。学习需掌握泛型、装箱拆箱等Java知识,并通过画图、博客、刷题(牛客/LeetCode)深入理解数据结构与算法。核心是实践与总结。

一:什么是集合框架

java 集合框架 Java Collection Framework ,⼜被称为容器container ,是定义在java.util包下的⼀组接⼝ interfaces 和其实现类classes

其主要表现为将多个元素element 置于⼀个单元中,⽤于对这些元素进⾏快速、便捷的存储store 、检索 retrieve 、管理 manipulate,即平时我们俗称的增删查改 CRUD

例如,⼀副扑克牌(⼀组牌的集合)、⼀个邮箱(⼀组邮件的集合)、⼀个通讯录(⼀组姓名和电话的映射关 系)等等。

二:集合框架的重要性

1.开发中的使⽤

  • 使⽤成熟的集合框架,有助于我们便捷、快速的写出⾼效、稳定的代码
  • 学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使⽤场景

2.笔试及⾯试题

三:背后所涉及的数据结构以及算法

1.什么是数据结构

数据结构(DataStructure)是计算机存储、组织数据的⽅式,指相互之间存在⼀种或多种特定关系的 数据元素的集合

2.容器背后对应的数据结构

该阶段,我们主要学习以下容器,每个容器其实都是对某种特定数据结构的封装,⼤概了解⼀下,后 序会给⼤家详细讲解并模拟实现:

  1. Collection:是⼀个接⼝,包含了⼤部分容器常⽤的⼀些⽅法

  2. List:是⼀个接⼝,规范了ArrayList和LinkedList中要实现的⽅法

  • ArrayList:实现了List接⼝,底层为动态类型顺序表
  • LinkedList:实现了List接⼝,底层为双向链表
  1. Stack:底层是栈,栈是⼀种特殊的顺序表

  2. Queue:底层是队列,队列是⼀种特殊的顺序表

  3. Deque:是⼀个接⼝

  4. Set:集合,是⼀个接⼝,⾥⾯放置的是K模型

  • HashSet:底层为哈希桶,查询的时间复杂度为O(1)
  • TreeSet:底层为红⿊树,查询的时间复杂度为O(),关于key有序的
  1. Map:映射,⾥⾯存储的是K-V模型的键值对
  • HashMap:底层为哈希桶,查询时间复杂度为O(1)
  • TreeMap:底层为红⿊树,查询的时间复杂度为O(),关于key有序

3.相关java知识

  1. 泛型 Generic
  2. ⾃动装箱 autobox 和⾃动拆箱 autounbox
  3. Object 的 equals ⽅法
  4. Comparable 和 Comparator 接口

4.什么是算法

算法(Algorithm):就是定义良好的计算过程,他取⼀个或⼀组的值为输⼊,并产⽣出⼀个或⼀组值作 为输出。简单来说算法就是⼀系列的计算步骤,⽤来将输⼊数据转化成输出结果。

5.如何学好数据结构以及算法

  • 死磕代码,磕成这样就可以了
  • 注意画图和思考
  • 多写博客总结
  • 多刷题
  • ⽜客⽹和LeetCode都可以

以上就是我们的全部内容了!!!!

相关推荐
程序大视界1 小时前
【C++ 从基础到项目实战】C++(三):函数进阶——重载、回调、递归与默认参数
开发语言·c++·cpp
码语智行1 小时前
Spring Security自定义AuthenticationManager实现手机号/密码双认证
java·后端·spring
SuniaWang1 小时前
《AgentX 专栏》07-全链路可观测:用OpenTelemetry+Jaeger让每次AI对话都可追踪可复盘
java·人工智能·spring·架构·langchain·opentelemetry·agenx
fengxin_rou1 小时前
【从零开始的JUC并发第五章】:线程池详解
java·jvm·spring
爱喝水的鱼丶1 小时前
SAP-ABAP:SAP 简单报表输出开发系列(共6篇)第二篇:SAP 报表数据筛选优化:选择屏幕自定义与查询效率提升
开发语言·数据库·学习·性能优化·sap·abap
HappyAcmen1 小时前
8.角色 Prompt 模板
开发语言·python·prompt
咖啡八杯1 小时前
GoF设计模式——装饰模式
java·算法·设计模式·装饰器模式
_Aaron___1 小时前
RAG 知识库越用越脏?先把“增量更新”设计清楚
java·人工智能
飞翔中文网1 小时前
Java学习笔记之注解
java·笔记·学习