自定ArrayStack实现自定义的Stack接口
import java.util.Iterator;
public class ArrayStack<E> implements Stack<E> {
private ArrayList<E> list;
public ArrayStack() {
list = new ArrayList<>();
}
@Override
public int size() {
return list.size();
}
@Override
public boolean isEmpty() {
return list.isEmpty();
}
@Override
public void push(E element) {
list.add(element);
}
@Override
public E pop() {
return list.remove(size() - 1);
}
@Override
public E peek() {
return list.get(size() - 1);
}
@Override
public void clear() {
list.clear();
}
@Override
public String toString() {
return list.toString();
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (obj instanceof ArrayStack) {
ArrayStack other = (ArrayStack) obj;
return this.list.equals(other.list);
} else {
return false;
}
}
@Override
public Iterator<E> iterator() {
return list.iterator();
}
}