【Java数据结构】 第一章 —— 初识集合框架

☕目录☕

  前言

    思维导图

         一、几个前置小问题

                     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的集合类......

 


 思维导图

【Java数据结构】 第一章 —— 初识集合框架_第1张图片


一、几个前置小问题

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。

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

类和接口总览:

【Java数据结构】 第一章 —— 初识集合框架_第2张图片

【Java数据结构】 第一章 —— 初识集合框架_第3张图片

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

  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模型的键值对:【Java数据结构】 第一章 —— 初识集合框架_第4张图片

 4.3 相关Java知识

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

4.4 什么是算法

算法(Algorithm):

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

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

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

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

【Java数据结构】 第一章 —— 初识集合框架_第5张图片

(2)注意画图和思考

【Java数据结构】 第一章 —— 初识集合框架_第6张图片

(3)多写博客总结

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

 


写在最后

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

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

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

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

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

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

       一起努力,共同进步;

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

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

你可能感兴趣的:(Java数据结构,——,主干部分,Java数据结构,集合框架,数据结构,后端)