# Java学习(十四)数据结构、泛型

Java学习(十四)数据结构、泛型

文章目录

  • Java学习(十四)数据结构、泛型
  • 一、数据结构
  • 二、泛型


一、数据结构

  • 数据结构其实就是存储数据的格式
  • 分类:
    栈 , 队列 , 数组 , 链表 , 树 , 哈希表,图,堆
    # Java学习(十四)数据结构、泛型_第1张图片

1.数组
数组是一种线性结构,而且在物理内存中也占据着一块连续空间。

优点:访问数据简单。
缺点:添加和删除数据比较耗时间。
使用场景:频繁查询,对存储空间要求不大,很少增加和删除的情况。

数据访问:由于数据是存储在连续空间内,所以每个数据的内存地址都是通过数据小标算出,所以可以直接访问目标数据。(这叫做“随机访问”)。

2.链表
链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个结点,一个是存储元素的数据域 (内存空间),另一个是指向下一个结点地址的指针域。

优点:数据添加和删除方便
缺点:访问比较耗费时间
适用场景:数据量较小,需要频繁增加,删除操作的场景

数据访问:因为数据都是分散存储的,所以想要访问数据,只能从第一个数据开始,顺着指针的指向逐一往下访问。

3.栈
栈也是一种数据呈线性排列的数据结构,不过在这种结构中,我们只能访问最新添加的数
据。从栈顶放入元素的操作叫入栈,取出元素叫出栈。

特点:后进先出(Last In First Out,简称LIFO)

4.队列
队列中的添加和删除数据的操作分别是在两端进行的。队列可以在一端添加元素,在另一端取出元素,也就是:先进先出(First In First Out,简称FIFO)

5.哈希表
哈希表&

你可能感兴趣的:(Java学习,java,数据结构)