1、Deque栈的增删查方法总结
2、方法增删查
- 栈顶添加:push、offFirst
- 栈尾添加:add、offer、offerLast
- 栈顶删除:remove、pop、poll、pollFirst
- 栈尾删除:pollLast
- 栈顶查看:peek、peekFirst
- 栈尾查看:peekLast
3、方法返回值
- add、offer、offerFirst、offerLast 返回 boolean 类型;
- push 无返回值;
- peek、peekFirst、peekLast 是查看功能,返回值类型自然都是元素类型;
- pop、remove、poll、pollFirst、pollLast 在删除元素的同时,返回该元素值。
4、方法返回值总结
- 删除元素的方法,全部都会返回所删除的元素值;
- 查看元素的方法,全部都会返回所查看的元素值;
- 添加元素的方法,除了push无返回值外,其他方法全部都返回 boolean 值。
5、练习代码
import java.util.Deque;
import java.util.LinkedList;
public class DequeTest {
public static void main(String[] args) {
Deque<Integer> stack = new LinkedList<Integer>();
System.out.println(stack.add(1)); //true
System.out.println(stack.add(2)); //true
stack.push(3);
stack.push(4);
stack.push(5);
System.out.println(stack.pop()); //5
System.out.println(stack.peek()); //4
System.out.println(stack.peekFirst()); //4
System.out.println(stack.peekLast()); //2
System.out.println(stack.remove()); //4
System.out.println(stack.add(6)); //true
System.out.println(stack.offer(7)); //true
System.out.println(stack.offerFirst(8)); //true
System.out.println(stack.offerLast(9)); //true
System.out.println(stack.pop()); //8
System.out.println(stack.poll()); //3
System.out.println(stack.pollFirst()); //1
System.out.println(stack.pollLast()); //9
}
}
6、Deque之所以有这么多方法是因为错综复杂的继承关系
图引用自:Java的LinkedList/Deque中add/offer/push,remove/pop/poll的区别 - 简书