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

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

相关推荐
小王C语言9 分钟前
Qt常用控件:按钮类控件,普通按键、单选、复选
开发语言·qt
街头便衣11 分钟前
OpenRouter周榜复算:164万亿token,输出2.55%,DeepSeek账单占1.4%
android·java·开发语言·人工智能·语言模型·开源
mister_guo15 分钟前
Spring Boot 配置文件读取的几种方式:用法、原理与常见误区
java·spring boot
余槐i16 分钟前
虚拟线程上线后吞吐反而掉了:Spring Boot 3 里 synchronized 锁住载体线程的定位与修复
java·spring boot·性能优化·虚拟线程·jdk 21
老王IT18 分钟前
PHP语言基础语法介绍
开发语言·php
要开心吖ZSH19 分钟前
DDD(领域驱动设计)篇三:实战对照——同一个订单业务,两种架构怎么写
java·架构·领域模型·ddd·领域驱动设计·设计思想
2501_944521599 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理9 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
wangchunyu11410 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python