参考 Effective Java
import java.util.Arrays;
import java.util.EmptyStackException;
/**
* 栈 实现
* @author
*/
public class Stack {
private Object[] elements;
private int size = 0 ;
private static final int DEFAULT = 16;
public Stack () {
this.elements = new Object[DEFAULT];
}
public void push (Object e) {
ensureCapacity();
elements[size++] = e;
}
public Object pop () {
if (size == 0) {
throw new EmptyStackException();
}
Object result = elements[--size];
elements[size] = null;
return result;
}
private void ensureCapacity() {
if (elements.length == size) {// 拓展
elements = Arrays.copyOf(elements, 2*size +1);
}
}
}
import java.util.Arrays;
import java.util.EmptyStackException;
/**
* 栈 实现
* @author
*/
public class Stack {
private Object[] elements;
private int size = 0 ;
private static final int DEFAULT = 16;
public Stack () {
this.elements = new Object[DEFAULT];
}
public void push (Object e) {
ensureCapacity();
elements[size++] = e;
}
public Object pop () {
if (size == 0) {
throw new EmptyStackException();
}
Object result = elements[--size];
elements[size] = null;
return result;
}
private void ensureCapacity() {
if (elements.length == size) {// 拓展
elements = Arrays.copyOf(elements, 2*size +1);
}
}
}