Java:栈、队列、双向队列、优先队列

一、栈

1.什么是栈?

stack是一种特殊的线性表,这种线性表只能在固定一端(通常认为是线性表的尾端)进行插入,删除操作,遵循先进后出的原则。
对于栈而言,允许进行插入,删除操作的一端被称为栈顶top,另一端咋被称为栈底bottom

2.java中的栈

类:Stack
方法:

https://docs.oracle.com/javase/8/docs/api/java/util/Stack.html

二、队列

1.什么是队列?

队列Queue是一种特殊的线性表,他只允许在表的前端front进行删除操作,只允许在表的后端rear进行插入操作,进行插入操作的端称为队尾,进行删除的端称为队头。
对于一个队列来说,每个元素总是从队列的rear端进入队列,然后等待该与元素之前的所有元素出队之后,当前元素才能出队。因此,队列是一种先进先出FIFO的线性表。

2.java中的队列

接口:Queue
方法:


https://docs.oracle.com/javase/8/docs/api/java/util/Queue.html

三、双向队列

1.什么是双向队列?

允许在两端进行插入、移除元素的队列。

2.java中的双向队列

接口:Deque
方法:




https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html

四、优先队列

1.什么是优先队列?

优先队列PriorityQueue与普通队列不同,普通队列基于先进先出FIFO处理数据对象,而优先队列基于优先级处理对象。
这个优先队列中的元素可以默认自然排序或者通过提供的Comparator(比较器)在队列实例化的时排序。

2.java中的优先队列

类: PriorityQueue
方法:

constructors

methods

Java中的文档链接

  • Stack
  • Queue
  • Deque
  • PriorityQueue

你可能感兴趣的:(Java:栈、队列、双向队列、优先队列)