—— 初识集合框架

Posted 哎呀是小张啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了—— 初识集合框架相关的知识,希望对你有一定的参考价值。

☕目录☕

  🍚前言

    🧀思维导图

         🧇一、几个前置小问题

                     🍛🍛1.1 什么是数据结构

                     🍞🍞1.2 Java的数据结构和C/C++的数据结构有什么不一样

                     🍗🍗1.3 数据结构和数据库是不是一样

         🥡二、什么是集合框架

         🍜三、集合框架的重要性

                     🥩🥩3.1 开发中的使用

                     🍤🍤3.2 笔试及面试题

         🍔四、背后所涉及的数据结构以及算法

                     🍖🍖4.1 什么是数据结构

                     🍟🍟4.2 容器背后所对应的数据结构

                     🍊🍊4.3 相关Java知识

                     🍓🍓4.4 什么是算法

                     🍉🍉4.5 如何学好数据结构以及算法

  🥤写在最后


前言

       有的铁汁们问,我们不是要去学 Java数据结构 吗?

       数据结构 不应该是那些 链表、堆、队列、栈、二叉树 等等 之类的吗?

       为啥一上来,需要去了解 什么集合框架 呢?

       其实,所谓的 集合框架,就是一大堆的集合类;而这些集合类,就是Java官方 帮助我们已经封装好的 数据结构;也就是说,当我们真正需要用到某个数据结构的时候,直接用Java提供的对应的集合类 就可以了。

       当然,数据结构还是需要学的;因为 我们不仅仅需要知其然,更需要知其所以然;只有这样,我们才可以更加熟练的使用 Java官方已经提供好的数据结构。、

       所以,本系列的专栏的内容是这样的:先去了解一个数据结构的底层,再去了解这个数据结构 对应的Java的集合类......

 


 思维导图


一、几个前置小问题

1.1 什么是数据结构

       数据结构,是一门单独的学科,与语言没有关系。

       即:数据 + 结构;是用来描述和组织数据的方式;

       即:类似于 想要到达目的地,可以通过的路径不一样(坐公交车,开小轿车......)

       至于为什么会有这么多的数据结构,其实是因为 描述和组织数据的方式是不一样的!!!!!!

       某些情况下,使用A数据结构;某些情况下,使用B数据结构!

1.2 Java的数据结构和C/C++的数据结构有什么不一样

       没有什么不一样,数据结构和语言没有关系。

1.3 数据结构和数据库是不是一样

       不一样,数据结构和数据库都是单独的学科;

       如果说它们之间的联系的话,数据库的底层 用到了 数据结构!

       好的,那么现在,正文开始 ...... 


二、什么是集合框架

传送门:官方教程(时刻准备中......)

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

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

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

类和接口总览:

从上面的图上,我们需要清楚以下内容:

  1. 理清楚 具体的类和接口的关系;
  2. 理清楚 接口和接口的关系。 


三、集合框架的重要性

3.1 开发中的使用

  1. 使用成熟的集合框架,有助于我们 便捷、快速的 写出高效、稳定的代码;

  2. 学习背后的数据结构知识,有助于我们理解各个集合的优缺点及使用场景。

3.2 笔试及面试题

       各个厂的笔试以及面试题 都会涉及到相关的知识,这里就不去一个个的罗列了;

感兴趣的点击下面的传送门,可以自己去搜一搜然后看一看:

传送门:直通牛客网(时刻准备中......)


四、背后所涉及的数据结构以及算法

4.1 什么是数据结构

       数据结构(Data Structure)是计算机存储、组织数据的方式;

       指 相互之间存在一种或多种 特定关系的数据元素的集合。

4.2 容器背后所对应的数据结构

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

大概了解一下,后续会给大家详细讲解,并且模拟实现。

  1. Collection:是一个接口,包含了大部分容器 常用的一些方法;
  2. List:是一个接口,规范了ArrayList和LinkedList中要实现的方法:
  3. Stack:底层是 栈,栈 是一种特殊的顺序表;
  4. Queue:底层是 队列,队列 是一种特殊的顺序表;
  5. Deque:是一个接口;
  6. Set:集合,是一个接口,里面放置的是K型:
  7. Map:映射,里面存储的是K-V模型的键值对:

 4.3 相关Java知识

  1. 泛型Generic;
  2. 自动装箱autobox 和 自动拆箱autounbox;
  3. Object 的 equals 方法;
  4. Comparable 和 Comparator 接口。

4.4 什么是算法

算法(Algorithm):

       就是定义良好的计算过程,取一个或一组的值进行输入,并产生出一个或一组的值进行输出;

       简单的来说,就是一系列的计算步骤,用来将输入数据转化成输出结果。

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

(1)死磕代码,磕成这样就可以了:

(2)注意画图和思考

(3)多写博客总结

(4)多刷题(推荐:牛客网、力扣)

 


写在最后

在学习数据结构之前,还需要准备知道两个前置知识:

  1. 学习计算一个算法的 时间复杂度和空间复杂度;
  2. 了解泛型(以能看懂代码为止,不必深究)。 

别着急,这两个前置知识 在后面会一一介绍;

希望各位铁汁们都收获满满,最后赚得盆满锅满......

       当然,由于博主水平有限,可能会出现一些表达不清楚,或者出现一些其他的情况,

       欢迎各位铁汁们指出来,让博主一起改正,

       一起努力,共同进步;

       好了,如果这篇博客对铁汁们有帮助的话,可以送一个免费的 赞 嘛;

       当然,顺手点个关注是再好不过的了......

创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖

以上是关于—— 初识集合框架的主要内容,如果未能解决你的问题,请参考以下文章

分布式事务框架-seata初识

Flask框架从入门到精通之初识

初识Java集合及包装类和泛型的基本使用

初识类

初识react

初识汇编