2021-08-08

JAVA常用的类,接口,包,数据结构

一:类:1.java.lang.Object

2.java.lang.String

3.java.lang.System

4.java.io.file

5.java.io.FileInputStream

二:包:1.java.lang包

2.java.io包

3.java.swt包

4.java.util包

5.java.sql包

三:接口:1.java.util.List

2.java.util.Map

3.java.util.Iterator

4.java.sql.CallableStatement

5.java.lang.Comparable

四:数组和链表的区别

数组结构:

数组结构在通过索引进行查询数据时效率比较高,而对于数组插入和删除操作,则效率会比较低,在第一个位置进行插入数据,其余数据就需要依次向后移动,而第一个数据进行删除,则需要所有数据全部向前移,这样的话,就会推出第二种结构,链表结构。

简单的链表:为了保证数据插入和删除,不会影响其他数据的移动,保证线性开销,所以就引出了链接。每个表都不会连续进行存储。

链表是由一系列节点组成的,每个节点都会有一个链点,这就是next链,而next链则会执行下一个node的引用,所以我们在插入或者删除的时候,需要该表链表next链的指向地址即可,每个节点不需要内存进行连续存储,这样会减小删除和插入的线性开销。

链表结构主要分为两种链表,单向链表和双向链表 ,即单向链表只有一个next链,而双向链表会有next链和pre链。

实现ArrayList:(ArrayList其实是对数组的动态扩充)

五:java中常用的数据结构:

数据结构:

①数组 (Array)

在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数

据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组

元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指

针数组、结构数组等各种类别。

②栈 (Stack)

栈是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后

的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

③队列 (Queue)

一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行

插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。

④链表 (Linked List)

一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:

一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

⑤树 (Tree)

树是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N,N满足 以下条件:

(1)有且仅有一个结点 k0,他对于关系N来说没有前驱,称K0为树的根结点。简称为根(root)

(2)除K0外,k中的每个结点,对于关系N来说有且仅有一个前驱。

(3)K中各结点,对关系N来说可以有m个后继(m>=0)。

⑥堆 (Heap)

在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指

二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。

⑦图 (Graph)

图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,

边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。

⑧散列表 (Hash)

若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称

这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值