• 用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:
    老婆先上床却要下床哄熊孩子
    我在老婆之后上床却要下床哄熊孩子

    相关知识补充:

    追源码:

  • 相关阅读:
    linux最简单项目部署
    sql索引
    /etc/profile和~/.bash_profile区别
    Linux下查找软件的目录位置
    为什么要使用消息队列?
    idea中常用的快捷键
    PAT 甲级 1023 Have Fun with Numbers (20分)
    PAT《算法笔记》
    Text 2
    Text-1
  • 原文地址:https://www.cnblogs.com/1693977889zz/p/7091276.html
Copyright © 2020-2023  润新知