1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| package com.holelin.stack;
import com.holelin.array.Array;
public class ArrayStack<E> implements Stack<E> { private Array<E> mArray;
public ArrayStack(int capacity) { mArray = new Array<>(capacity); }
public ArrayStack() { mArray = new Array<>(); }
public int getCapacity() { return mArray.getCapacity(); }
@Override public void push(E e) { mArray.addLast(e); }
@Override public E pop() { return mArray.removeLast(); }
@Override public E peek() { return mArray.getLast(); }
@Override public int getSize() { return mArray.getSize(); }
@Override public boolean isEmpty() { return mArray.isEmpty(); }
@Override public String toString() { StringBuilder res = new StringBuilder(); res.append(String.format("Stack: size = %d, capacity = %d\n", mArray.getSize(),mArray.getCapacity()));
res.append('['); for (int i = 0; i < mArray.getSize(); i++) { res.append(mArray.get(i)); if (i != mArray.getSize() - 1) { res.append(","); } } res.append("] top"); return res.toString(); } }
|