基于ArrayList实现的ArrayStack

Posted esrevinud

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于ArrayList实现的ArrayStack相关的知识,希望对你有一定的参考价值。

参考接口

public interface myStack<T> {
    void push(T element);
    T peek();
    T pop();
    Integer search(T element);
    Integer size();
    void clear();
    Boolean isEmpty();
}

实现代码

import java.util.ArrayList;

public class MyArrayStack<T> implements myStack<T>{
    private ArrayList<T> core;

    public MyArrayStack() {
        this(10);
    }

    public MyArrayStack(int capacity) {
        core = new ArrayList<>(capacity);
    }

    @Override
    public void push(T element) {
        core.add(element);
    }

    @Override
    public T peek() {
        return core.get(core.size() - 1);
    }

    @Override
    public T pop() {
        return core.remove(core.size() - 1);
    }

    @Override
    public Integer search(T element) {
        return core.lastIndexOf(element);
    }

    @Override
    public Integer size() {
        return core.size();
    }

    @Override
    public void clear() {
        core.clear();
    }

    @Override
    public Boolean isEmpty() {
        return core.isEmpty();
    }

    public static void main(String[] args) {
        MyArrayStack<Integer> stack = new MyArrayStack<>();
        for (int i = 0; i < 10; i ++) {
            stack.push(10 - i);
        }
//        System.out.println(stack.size());
//        System.out.println(stack.peek());
//        stack.pop();
//        System.out.println(stack.peek());
//        for (int i = 0 ; i < stack.size(); i ++) {
//            System.out.println(stack.pop());
//        }

    }
}

以上是关于基于ArrayList实现的ArrayStack的主要内容,如果未能解决你的问题,请参考以下文章

补充实验

ActionScript 3 AS3 | ArrayStack

数据结构

org.apache.commons.collections.ArrayStack 已经添加到输出中。请删除重复的副本

ArrayList,基于数组实现的有序列表

ArrayList,基于数组实现的有序列表