Java队列知识点整理

队列

在这里插入图片描述

1.Queen 队列,队尾进,队头出
Deque:双端队列
LinkedList:队列/双端队列,底层是双向链表
PriorityQueue:优先级队列,底层是二叉树,但具有队列的特性



2.Queue queue = new LinkedList<>();

add,offer返回值:boolean

queue.add( );//调用add方法 默认是队尾入队,满了的时候插入会抛出异常

queue.offer( );//调用offer方法 默认是队尾入队,满了的时候直接返回false

remove:删除

poll:弹出(尽量用poll) //

peek:得到队头元素且不删除

LinkedList linkedlist queue = new LinkedList<>();

linkedlist.addFirst( );//队头进

linkedlist.addLast( );//队尾进




循环队列:

1.front和rear相遇,到底是空还是满?

2.front和rear都面临一个问题:

rear+1越界

front+1越界

解决:

1.牺牲一个空间,来判断是否为满,判断当前rear的下一个是否为front

2.(rear+1)%len 是否等于front,若等于,则满

3.若要放k个元素,在构造方法中设置数组大小应为k+1

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页