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)); //trueSystem.out.println(stack.add(2)); //truestack.push(3);stack.push(4);stack.push(5);System.out.println(stack.pop()); //5System.out.println(stack.peek()); //4System.out.println(stack.peekFirst()); //4System.out.println(stack.peekLast()); //2System.out.println(stack.remove()); //4System.out.println(stack.add(6)); //trueSystem.out.println(stack.offer(7)); //trueSystem.out.println(stack.offerFirst(8)); //trueSystem.out.println(stack.offerLast(9)); //trueSystem.out.println(stack.pop()); //8System.out.println(stack.poll()); //3System.out.println(stack.pollFirst()); //1System.out.println(stack.pollLast()); //9}
}
6、Deque之所以有这么多方法是因为错综复杂的继承关系
图引用自:Java的LinkedList/Deque中add/offer/push,remove/pop/poll的区别 - 简书