专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java数据结构学习方法

Java数据结构学习方法

更新时间:2019-12-06 15:19:24 来源:动力节点 浏览2887次

Java数据结构

  要理解Java数据结构,必须能清楚何为数据结构?

  数据结构:

  Data_Structure,它是储存数据的一种结构体,在此结构中储存一些数据,而这些数据之间有一定的关系。

  而各数据元素之间的相互关系,又包括三个组成成分,数据的逻辑结构,数据的存储结构和数据运算结构。

  而一个数据结构的设计过程分成抽象层、数据结构层和实现层。

  数据结构在Java的语言体系中按逻辑结构可以分为两大类:线性数据结构和非线性数据结构。

11 拷贝.jpg

  Java数据结构之:线性数据结构

  线性数据结构:常见的有一维数组,线性表,栈,队列,双队列,串。

  一维数组

  在Java里面常用的util有:String ,int ,ArrayList,Vector,CopyOnWriteArrayList等,及可以通过一维数组自己实现不同逻辑结构的Util类,而ArrayList封装了一些的基本操作方法。

  ArrayList和Vector的区别是:Vector是线程安全的,方法同步。CopyOnWriteArrayList也是线程安全的但效率要比Vector高很多。

  数组这种数据结构典型的操作方法,是根据下标进行操作的,所以insert的的时候可以根据下标插入到具体的某个位置,但是这个时候它后面的元素都得往后面移动一位。所以插入效率比较低,更新,删除效率也比较低,而查询效率非常高,查询效率时间复杂度是1。

  线性表

  线性表是有序的储存结构、链式的储存结构。链表的物理储存空间是不连续的,链表的每一个节点都知道上一个节点、或者下一个节点是谁,通常用Node表示。常见的有顺序链表(LinkedList、Linked***),单项链表(里面只有Node类),双向链表(两个Node类),循环链表(多个Node类)等。

  操作方法:插入效率比较高,插入的时候只需要改变节点的前后节点的连接即可。而查询效率就比较低了,如果实现的不好,需要整个链路找下去才能找到应该找的元素。所以常见的方法有:add(index,element),addFirst(element),addLast(element),getFirst,getLast,get(element)等。

  常见的Uitil有:LinkedList,LinkedMap等,而这两个JDK底层也做了N多优化,可以有效避免查询效率低的问题,当自己实现的时候需要注意。其实树形结构可以说是非线性的链式储存结构。

72 拷贝.jpg

  栈Stack

  栈,最主要的是要实现先进后出,后进先出的逻辑结构。来实现一些场景对逻辑顺序的要求。所以常用的方法有push(element)压栈,pop出栈。

  java.util.Stack就实现了这用逻辑,而Java的Jvm里面也用的到了此种数据结构,就是线程栈,来保证当前线程的执行顺序。

      以上就是动力节点Java培训机构小编介绍的“Java数据结构学习方法”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

       Java全套自学资料

       Java自学视频教程(免费学习):http://www.bjpowernode.com/video.html

  Java技术教程:http://www.bjpowernode.com/tutorial/

       相关文章

  零基础怎么自学Java,完整版Java学习路线图

  你还在纠结学Java,是自学还是去培训班吗

  一个标准的Java程序员如何进阶?

  Java学习路线清单,快速进阶Java

  Java编程初学者要如何进阶

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>