Rumah  >  Artikel  >  Java  >  模拟堆栈的方法介绍

模拟堆栈的方法介绍

零下一度
零下一度asal
2017-06-29 11:51:251676semak imbas

/*

*在大不久前,我决定自学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:
老婆先上床却要下床哄熊孩子
我在老婆之后上床却要下床哄熊孩子

相关知识补充:

追源码:

 

Atas ialah kandungan terperinci 模拟堆栈的方法介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn