• LinkedQueue的底层实现


    package zy813ture;


    public class MyLinkedQueue1 {
    private Node head;

    private Node last = head = new Node();//初始化可以设定默认值,形式固定

    // private int size;

    private class Node {
    private Object data;

    private Node next;
    }

    public MyLinkedQueue1() {
    // last = head = new Node();
    // last=head;
    }

    public boolean offer(Object element) {// 将指定的元素插入此队列
    if (element == null) {
    throw new NullPointerException();
    }

    // 1
    Node node = new Node();
    node.data = element;

    // 2
    last.next = node;

    // 3
    last = node;
    // size++;
    return true;

    }

    public Object peek() {// 获取不移除此队列的头,如果此队列为空,则返回 null。
    if (head.next == null) {
    return null;
    }

    return head.next.data;
    }

    public Object poll() {// 获取并移除此队列的头,如果此队列为空,则返回 null。
    if (head.next == null) {
    return null;
    }

    //1
    Node node = head;

    //2
    head= head.next;

    //3
    //node= null;
    node =null;
    return head.data;
    }
    public static void main(String []args){
    MyLinkedQueue1 me= new MyLinkedQueue1();
    me.offer("ab1");
    me.offer("ab2");
    me.offer("ab3");
    me.offer("ab4");
    me.offer("ab5");
    //System.out.println(me.peek());
    System.out.println(me.poll());//ab1 null
    System.out.println(me.poll());//
    //System.out.println(me.peek());

    //System.out.println(me.peek());

    }







    }

  • 相关阅读:
    sql语句中where后边的哪些条件会使索引失效 SQL语句优化
    jvm 判断对象死亡
    mysql数据库优化概述详解
    java集合框架详解
    jvm 图形化工具之jconsole
    java io框架详解
    多台Linux之间文件共享
    二 redis的安装启动
    jvm 线上命令工具
    java 线程6种状态的转换
  • 原文地址:https://www.cnblogs.com/ysg520/p/9471663.html
Copyright © 2020-2023  润新知