发布时间:2023-02-05 22:00
前言: 之前有介绍过在reids中的五种常用类型: string hash list set zset 五种数据类型 。今天来介绍一下关于 java中的集合类型。还会进行基础的介绍不同之处。
一直都想记录一下也是因为在刷题过程中,也都用用到各种的栈,队列。今日打算痛定思痛记录一番:
在《算法》(第四版)中对栈的基础函数有以下比较常用的:
方法 | 介绍 |
---|---|
Stack() | 创建一个新栈 |
void push(Item item ) | 添加一个新的元素 |
Item pop() | 删除最近添加的元素,将元素从栈顶取出,有返回值 |
boolean isEmpty() | 判断栈是否已经为空 |
int size() | 返回栈的长度 |
注: 关于栈的使用地方非常的多 例如对于很多的数的操作:数的前序和后序遍历,对于表达式的求解,前缀与后缀表达式都会有相对应的涉及。
同上:
方法 | 介绍 |
---|---|
Queue () | 创建一个空队列 |
void enqueue(Item item) | 添加一个元素到队列中 |
Item dequeue () | 取出队列中 最早添加的元素 |
boolean isEmpty() | 是否为空 |
int size() | 此时队列的长度 |
注: 虽然对于队列来说,使用的比较少,但是基础的操作,对于树的层序遍历还是会使用到,同时对于判断平衡二叉树时候 也会使用到。
List
:存储的元素是不唯一的(可以存储一组由多个元素引用相同的对象) ,有序,可以插入时候 插入多条的null值。Set
不允许有重复的元素,不允许有多个元素应用的是相同的对象,只允许有一个null元素。Map
: 使用键值对进行存取,Map本身会维护Key与Value之间的关系,在理论上不同的key可以引用相同的对象,但是Key值不能够是重复的。