首页  >  文章  >  Java  >  模拟堆栈的方法介绍

模拟堆栈的方法介绍

零下一度
零下一度原创
2017-06-29 11:51:251639浏览

/*

*在大不久前,我决定自学Java,关注了很多的公众号、微博等。没几天我看到一个笑话:

*晚上孩子哭了,老婆让我去看看。

*我说:“不行,咱们的床是队列,你先上的床就得你先下床。。。

*老婆说:NO NO No,是栈。 

* 紧接着一脚踹到我的屁股上。

* 当时,看了评论,都是在说程序员夫妻欢乐多之类的话,也上网查了堆栈的知识,

* 不是计算机专业的,看得也是云里雾里的。今天是二轮复习基础知识,

* 关于LinkedList有可以模拟堆栈的方法,就上手操作了一下,才理解了这个笑话的真谛,

* 越来越感觉,编程语言的魅力了,开心。

*/

 1 import java.util.LinkedList; 2  3 public class NoNo { 4     public static void main(String[] args) { 5         MyQueue q = new MyQueue(); 6         q.add("老婆先上床"); 7         q.add("我在老婆之后上床"); 8  9         while (q.isEmpty() == false) {10 11             System.out.println(q.get2() + "却要下床哄熊孩子");12 13         }14 15     }16 }17 18 class MyQueue {19     private LinkedList List;// 底层20 21     MyQueue() {22         List = new LinkedList();23     }24 25     public void add(Object obj) {26         List.addFirst(obj);27     }28     public Object get2() {29         // 模仿栈30         return List.removeFirst();31     }32 33     public boolean isEmpty() {34         return List.isEmpty();35     }36 }
PutOut:
我在老婆之后上床却要下床哄熊孩子
老婆先上床却要下床哄熊孩子
 1 import java.util.LinkedList; 2  3 public class NoNo { 4     public static void main(String[] args) { 5         MyQueue q = new MyQueue(); 6         q.add("老婆先上床"); 7         q.add("我在老婆之后上床"); 8  9         while (q.isEmpty() == false) {10             11                 System.out.println(q.get()+"却要下床哄熊孩子");12         }13 14     }15 }16 17 class MyQueue {18     private LinkedList List;// 底层19 20     MyQueue() {21         List = new LinkedList();22     }23 24     public void add(Object obj) {25         List.addFirst(obj);26     }27 28     public Object get(){29     //模仿队列30     return List.removeLast();31         }32 33     public boolean isEmpty() {34         return List.isEmpty();35     }36 }
OutPut:
老婆先上床却要下床哄熊孩子
我在老婆之后上床却要下床哄熊孩子

相关知识补充:

追源码:

 

以上是模拟堆栈的方法介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn