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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值