基于LinkedList实现队列和栈数据结构

842 阅读1分钟

需求:基于LinkedList实现队列数据结构

队列数据结构特点:先进先出

代码实现:
package com.linkedlistdemo;

import java.util.LinkedList;

public class Queue {
    private LinkedList linkedList;

    public Queue() {
        linkedList = new LinkedList();
    }

    public void myAdd(Object obj) {
        linkedList.addFirst(obj);
    }

    public Object myGet() {
        return linkedList.removeLast();
    }

    public boolean isNull() {
        return linkedList.isEmpty();
    }
}

需求:基于LinkedList实现栈数据结构

栈数据结构特点:先进先出

代码实现:

package com.linkedlistdemo;

import java.util.LinkedList;

public class Stack {
    private LinkedList linkedList;

    public Stack() {
        linkedList = new LinkedList();
    }

    public void myAdd(Object obj) {
        linkedList.addFirst(obj);
    }

    public Object myGet() {
        return linkedList.removeFirst();
    }

    public boolean isNull() {
        return linkedList.isEmpty();
    }
}

测试代码:

package com.linkedlistdemo;

public class Test {
    public static void main(String[] args) {
        Queue queue = new Queue();
        queue.myAdd("java01");
        queue.myAdd("java02");
        queue.myAdd("java03");
        queue.myAdd("java04");
        while (!queue.isNull()) {
            System.out.println(queue.myGet());
        }

        System.out.println("---------");

        Stack stack = new Stack();
        stack.myAdd("php01");
        stack.myAdd("php02");
        stack.myAdd("php03");
        stack.myAdd("php04");
        while (!stack.isNull()) {
            System.out.println(stack.myGet());
        }
    }
}