java怎样优雅使用栈这个数据结构
List\u0026lt;Object\u0026gt; list = new LinkedList\u0026lt;Object\u0026gt;();list.add(0, obj);// stack pushlist.remove(0);// stack pop // remove是有返回值的。list.get(0);// stack peeklist.clear();// stack clearlist.size() == 0;// stack emptylist.zize() \u0026gt; 0;// stack !empty
■网友
....LinkedList、Deque
■网友import java.util.LinkedList;public class Stack\u0026lt;E\u0026gt;{ LinkedList\u0026lt;E\u0026gt; list; public Stack(){ list = new LinkedList\u0026lt;\u0026gt;(); } public E pop(){ return list.removeLast(); } public E get(int i){ \treturn list.get(i); } public void push(E o){ list.add(o); } public E peek(){ return list.getLast(); } public boolean empty(){ return list.size()==0; } public int size(){ return list.size(); } public static void main(String args) { Stack\u0026lt;String\u0026gt; stack = new Stack\u0026lt;\u0026gt;(); stack.push("bottom"); stack.push("middle"); stack.push("top"); System.out.println(stack.empty()); System.out.println(stack.peek()); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.empty()); }}自己封装一个,还用老Stack的API , push(), pop(), empty(), peek() , size( )。
■网友
【java怎样优雅使用栈这个数据结构】 LinkedList 既有 栈的 pop,push 方法,又有队列的 offer,poll 方法,还有deque的 addfirst,addLast,removeFirst, removeLast 方法,还有collection 都有的 add,remove 方法,还有 栈和堆的 peek 方法。 所以实际上LinkedList 既是栈,又是堆,还是双向队列。所以建议用 Deque = new LinkedList。
■网友
我喜欢用ArrayDeque,拿来当栈或队列都不错。
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
- 怎样评价扶他柠檬茶的小说《云养汉》的结尾
- 怎样成为一名合格的Python程序员?
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- 怎样评价类似前橙会、百老汇、南极圈这样类型的离职帮抱团,对企业的积极意义和消极意义
