初识集合框架 -Java

目录

一、集合框架的概念

二、集合框架的重要性

三、涉及的数据结构和算法

[3.1 什么是数据结构](#3.1 什么是数据结构)

[3.2 集合框架(容器)背后对应的数据结构](#3.2 集合框架(容器)背后对应的数据结构)

[3.3 相关的Java知识](#3.3 相关的Java知识)

[3.4 什么是算法](#3.4 什么是算法)

[3.5 如何学好数据结构和算法](#3.5 如何学好数据结构和算法)


一、集合框架的概念

Java 集合框架,称为容器 ,是定义在 java.util 包下的一组接口和其实现类。

主要表现为将多个元素 置于一个单元中,用于对这些元素进行快速、便捷的存储、检索 、管理 ,即平时我们所说的增删查改。

二、集合框架的重要性

  1. 减少编程工作量 :有了可重用和有用的数据结构和算法,程序员不必重新发明轮子,他们可以将时间用于开发应用程序业务。

  2. 提高程序速度和质量 :Java集合框架(Java Collections Framework)实现的具体集合是为高性能和高质量而构建的,因此程序员可以在程序中利用这一优势。

  3. 促进软件重用:由于JDK内置了Java 集合框架,故使用集合框架编写的代码可以在应用程序、库和API中的任何地方重复使用。 这降低了开发成本并提高Java程序之间的互操作性。

三、涉及的数据结构和算法

3.1 什么是数据结构

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

3.2 集合框架(容器)背后对应的数据结构

现阶段主要学习以下的容器,每个容器都是对某种特定数据结构的封装。

  1. Collection:是一个接口,包含大部分容器常用方法。

  2. List:是一个接口,规范ArrayList和LinkList中要实现的方法。

ArrayList:实现List接口,底层为动态类型顺序表。

LinkList:实现List接口,底层为双向链表。

  1. Stack:底层是栈,一种特殊的顺序表。

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

  3. Deque:是一个接口。

  4. Set:集合,是一个接口,里面放置K模型。

HashSet:底层为哈希桶,查询的时间复杂度为O(1)。

TreeSet :底层为红黑树,查询的时间复杂度为O(),关于key有序。

  1. Map:映射,里面存储K-V模型的键值对

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

TreeMap :底层为红黑树,查询的时间复杂度为(),关于key有序。

3.3 相关的Java知识

  1. 泛型Generic

  2. 自动装箱autobox和自动拆箱autounbox

  3. Object的equals方法

  4. Comparable和Comparator接口

3.4 什么是算法

算法是定义良好的计算过程,输入一个或一组值,输出一个或一组值。简单来说算法就是一系列计算步骤,输入数据通过算法转化为输出结果。

3.5 如何学好数据结构和算法

  1. 死磕代码,即写一段代码出现问题,坚持找出问题所在。

  2. 多画图和思考

  3. 多谢博客总结

  4. 多刷题

相关推荐
FinelyYang32 分钟前
考试系统简答题 AI 阅卷:覆盖度驱动、异步评分与人机协同落地实践
java·大数据·人工智能
天外飞雨道沧桑32 分钟前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl37 分钟前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_1 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
用户3126874877201 小时前
Java 对象内存布局:压缩指针、对齐填充与 JOL 实测
java
东华果汁哥1 小时前
【Spring AI 实战】从零开始调用大模型接口,构建 Java AI 应用
java·人工智能·spring
“AI国潮设计-小江”2 小时前
【AIGC实战】Python+SDXL打造“潮汕英歌舞IP”万能立牌插件,批量生成“发财元宝蛋糕”视觉营销方案(附源码)
开发语言·人工智能·python·prompt·aigc
Song_RsHt2 小时前
Redis 与微服务,什么场景下无可替代
java·redis·后端·学习·微服务
学长毕设2 小时前
基于SpringBoot的建筑材料管理系统-附源码
java·spring boot·后端
lhbweilai2 小时前
分析FreeRTOS内核对象API的源码实现(八)
c语言·开发语言·stm32·单片机