70 lines
1.5 KiB
Java
70 lines
1.5 KiB
Java
package org.apache.commons.collections;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.EmptyStackException;
|
|
|
|
public class ArrayStack extends ArrayList implements Buffer {
|
|
private static final long serialVersionUID = 2130079159931574599L;
|
|
|
|
public ArrayStack() {}
|
|
|
|
public ArrayStack(int paramInt) {
|
|
super(paramInt);
|
|
}
|
|
|
|
public boolean empty() {
|
|
return isEmpty();
|
|
}
|
|
|
|
public Object get() {
|
|
int i = size();
|
|
if (i == 0)
|
|
throw new BufferUnderflowException();
|
|
return get(i - 1);
|
|
}
|
|
|
|
public Object peek() throws EmptyStackException {
|
|
int i = size();
|
|
if (i <= 0)
|
|
throw new EmptyStackException();
|
|
return get(i - 1);
|
|
}
|
|
|
|
public Object peek(int paramInt) throws EmptyStackException {
|
|
int i = size() - paramInt - 1;
|
|
if (i < 0)
|
|
throw new EmptyStackException();
|
|
return get(i);
|
|
}
|
|
|
|
public Object pop() throws EmptyStackException {
|
|
int i = size();
|
|
if (i <= 0)
|
|
throw new EmptyStackException();
|
|
return remove(i - 1);
|
|
}
|
|
|
|
public Object push(Object paramObject) {
|
|
add((E)paramObject);
|
|
return paramObject;
|
|
}
|
|
|
|
public Object remove() {
|
|
int i = size();
|
|
if (i == 0)
|
|
throw new BufferUnderflowException();
|
|
return remove(i - 1);
|
|
}
|
|
|
|
public int search(Object paramObject) {
|
|
int i = size() - 1;
|
|
for (byte b = 1; i >= 0; b++) {
|
|
E e = get(i);
|
|
if ((paramObject == null && e == null) || (paramObject != null && paramObject.equals(e)))
|
|
return b;
|
|
i--;
|
|
}
|
|
return -1;
|
|
}
|
|
}
|