扫码关注公众号

容器和Map之Set、栈和队列
03-22
38观看
01

栈的几种主要基本操作

voidpush(intdata):入栈(将数据data插入到栈中)intpop():出栈(删除并返回最后一个插入栈的元素)inttop():返回最后一个插入栈的元素,但不删除intsize():返回存储在栈中的元素个数booleanisEmpty():返回栈是否是空栈booleanisFull():返回是否是满栈voidClear():清除整个栈

来自:容器和Map-栈和队列
02

栈的几种实现方式

1.基于简单数组的实现方式2.基于动态数组的实现方式3.基于链表的实现方式4.基于队列的实现方式

来自:容器和Map-栈和队列
03

常见的阻塞队列有?

ArrayBlockingQueue:一个由数组结构组成的有界阻塞队列。LinkedBlockingQueue:一个由链表结构组成的有界阻塞队列。PriorityBlockingQueue:一个支持优先级排序的无界阻塞队列。DelayQueue:一个使用优先级队列实现的无界阻塞队列。SynchronousQueue:一个不存储元素的阻塞队列。LinkedTransferQueue:一个由链表结构组成的无界阻塞队列。LinkedBlockingDeque:一个由链表结构组成的双向阻塞队列。

来自:容器和Map-栈和队列
04

基于LinkedList实现队列结构

/***使用java.util.Queue接口,其底层关联到一个LinkedList(双端队列)实例.*/importjava.util.LinkedList;importjava.util.Queue;publicclassQueueList<E>{privateQueue<E>queue=newLinkedList<E>();//将指定的元素插入此队列(如果立即可行且不会违反容量限制),在成功时返回true,//如果当前没有可用的空间,则抛出IllegalStateException。publicbooleanadd(Ee){returnqueue.add(e);}//获取,但是不移除此队列的头。publicEelement(){returnqueue.element();}//将指定的元素插入此队列(如果立即可行且不会违反容量限制),当使用有容量限制的队列时,//此方法通常要优于add(E),后者可能无法插入元素,而只是抛出一个异常。publicbooleanoffer(Ee){returnqueue.offer(e);}//获取但不移除此队列的头;如果此队列为空,则返回nullpublicEpeek(){returnqueue.peek();}//获取并移除此队列的头,如果此队列为空,则返回nullpublicEpoll(){returnqueue.poll();}//获取并移除此队列的头publicEremove(){returnqueue.remove();}//判空publicbooleanempty(){returnqueue.isEmpty();}}

来自:容器和Map-栈和队列
课程
专栏
【校招VIP】Java数据结构之栈详解
csdn
【校招VIP】Java实现栈和队列
博客园
【校招VIP】栈和队列经典面试题
csdn
java语言-容器和Map-栈和队列
3专栏
1课程
4 试题