Stack
创建:Stack
boolean empty():判断栈是否为空
E peek():返回栈顶对象,不移除
E pop():返回栈顶对象,并移除
E push(E item):压入栈顶
int search(Object o):返回对象在栈的位置;search返回的位置是从栈顶开始计数,栈顶为1,而不在栈中的元素返回-1
Queue
创建:Queue
boolean add(E e):向队列中添加元素
E element():返回队列的头,且不移除
E remove():返回队列的头,且移除
boolean offer(E e):向队列中添加元素
E peek():返回队列的头,且不移除
E poll():返回队列的头,且移除
add、element、remove会在操作失败时抛出异常,而offer、peek、poll在操作失败时返回特殊值。
PriorityQueue
peek()//返回队首元素
poll()//返回队首元素,队首元素出队列
add()//添加元素
size()//返回队列元素个数
isEmpty()//判断队列是否为空,为空返回true,不空返回false
默认是小顶堆,可添加Comparator改变成大顶堆
Queue<Integer> q1 = new PriorityQueue<>();//小顶堆
//大顶堆
Queue<Integer> q = new PriorityQueue<>(new Comparator<Integer>() {
@Override
public int compare(Integer t1, Integer t2) {
if (t1 > t2)
return -1;
else
return 1;
}
});
deque
双端队列。创建:Deque deque = new LinkedList()