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都可以

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

相关推荐
逝水无殇9 小时前
HTML 元素详解
开发语言·前端·html
前鼻音太阳熊9 小时前
【MES系统】MES为什么需要SSE?从设备实时监控谈Spring Boot流式推送设计
java·spring boot·后端
Lhappy嘻嘻9 小时前
网络初识|基础入门:局域网广域网、IP 端口、TCP/IP 五层模型与封装解封装全过程
java·开发语言·网络·笔记·网络协议·tcp/ip
Java面试题总结9 小时前
区间树:反向映射的前置数据结构
java·前端·数据结构
Wang's Blog9 小时前
Go-Zero基础入门1: 微服务框架与选型分析
开发语言·微服务·golang
尚早立志9 小时前
六)Spring Boot 源码研读之prepareContext 准备上下文
java·spring boot·后端·spring
Lhappy嘻嘻17 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
科技道人17 小时前
记录 默认置灰/禁用 app ‘Search Engine Selector‘ 的disable按钮
开发语言·前端·javascript
伊玛目的门徒18 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
逝水无殇20 小时前
C# 异常处理详解
开发语言·后端·c#