• 用removeLast和removeFrist来模仿堆和栈


    /*

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

    相关知识补充:

    追源码:

  • 相关阅读:
    THINKPHP 错误:Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
    Vs2013 坑爹的Target framework问题
    在使用Vs2013打开Vs2008的解决方案时出现了以下错误:此版本的应用程序不支持其项目类型(.csproj)
    sql server2008R2 无法连接到WMI提供程序。你没有权限或者该服务器无法访问
    SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM 之间。
    [UE4]手持多把枪的位置调节
    [UE4]函数分组
    [UE4]射击起点、终点的计算方法
    [UE4]条件融合动画: Blend Posed by int
    [UE4]函数和事件的区别
  • 原文地址:https://www.cnblogs.com/1693977889zz/p/7091276.html
Copyright © 2020-2023  润新知