Stack의 가장 위에 item을 추가한다.
추가한 item을 반환한다.
public E push(E item) {
addElement(item);
return item;
}
stack의 가장 위의 값을 삭제한다.
삭제한 값을 반환한다.
만약 stack이 비어있으면 EmptyStackException을 발생시킨다.
public synchronized E pop() {
E obj;
int len = size();
obj = peek();
removeElementAt(len - 1);
return obj;
}
삭제하지 않고, 가장 위의 값을 들여다보는 메소드이다.
들여다본 값을 반환한다.
pop()과 마찬가지로 stack이 비어있으면 EmptyStackException을 발생시킨다.
public synchronized E peek() {
int len = size();
if (len == 0)
throw new EmptyStackException();
return elementAt(len - 1);
}
public boolean empty() {
return size() == 0;
}
인자값으로 받은 데이터의 위치를 반환한다.
index를 반환한는 것이 아니다.
public synchronized int search(Object o) {
int i = lastIndexOf(o);
if (i >= 0) {
return size() - i;
}
return -1;
}
public boolean isEmpty() {
return top == null && size == 0;
}
public int size() {
return size;
}