/**
* @author mcrwayfun
* @version v1.0
* @date Created in 2018/10/04
* @description
*/
public class ArrayStack implements Stack {
private Array array;
public ArrayStack(int capacity) {
array = new Array<>(capacity);
}
public ArrayStack() {
this(10);
}
// è·åæ ä¸å
ç´ ä¸ªæ°
@Override
public int getSize() {
return array.getSize();
}
// è·åæ 容é
public int getCapacity() {
return array.getCapacity();
}
// å¤ææ æ¯å¦ä¸ºç©º
@Override
public boolean isEmpty() {
return array.isEmpty();
}
// å°å
ç´ åå
¥æ ä¸
@Override
public void push(E e) {
array.addLast(e);
}
// åºæ
@Override
public E pop() {
return array.removeLast();
}
// æ¥çæ é¡¶å
ç´
@Override
public E peek() {
return array.getLast();
}
@Override
public String toString(){
StringBuilder res = new StringBuilder();
res.append("Stack: ");
res.append('[');
for(int i = 0 ; i < array.getSize() ; i ++){
res.append(array.get(i));
if(i != array.getSize() - 1)
res.append(", ");
}
res.append("] top");
return res.toString();
}
public static void main(String[] args) {
ArrayStack stack = new ArrayStack<>();
for(int i = 0 ; i < 5 ; i ++){
stack.push(i);
System.out.println(stack);
}
stack.pop();
System.out.println(stack);
}
}