栈和队列
1.栈:
定义:一个连续的内存空间,类似数组。具有自己的特点:后进先出。和算法dfs有关。
用法:背景(java),类:Stack (归属于Java.util.Stack) 是Vector的子类,可以直接使用
Stack<引用数据类型> a = new Stack<引用数据类型>()
方法有:push(引用对象)//作用,入栈一个数据放到栈顶。
pop(); //作用,直接把栈顶的数据弹出,返回这个数据。
peek();//作用,返回栈顶的数据,但是并不弹出。
isEmpty();//作用,判断是否为空
size();//返回长度,长度可变。以具体放入多少数据为标准。
2. 定义:和栈相同,唯一的区别就是:先进先出。和算法Bfs有关。
2.1.创建队列
使用Queue接口 ,Queue的实现类有LinkedList和PriorityQueue。最常用的实现类是LinkedList。
Queue的六种方法:
add()和 offer()
向队列中添加元素,将元素压入队尾。当超出容量时add()会抛出异常 , offer()会返回false。
remove() 和 poll()
移除元素,将元素从队头移出。当当前容量为0执行移除操作时,remove()会抛出异常 , poll()会返回false。
element() 和 peek()
获取队头元素,当前容量为0时。element()会抛出异常 , peek()会返回null。
栈和队列都一样,数据可以重复,都在java.util. 的包下。
System.out.println() 都可以直接以数组的方式输出。

浙公网安备 33010602011771号