commons-collections-----ArrayStack

ArrayStack继承于ArrayList。栈顶是最后一个入栈的元素既是链的尾,栈底是第一个入栈元素既是链头。

peek()方法:返回栈的顶部元素但不移除它(返回最后一个元素);
public Object peek() throws EmptyStackException {
int n = size();
if (n <= 0) {
throw new EmptyStackException();
} else {
return get(n - 1);
}
}

peek(int n)方法:从栈顶(以下标为0)开始取出下标元素;通俗讲,以最后一个元素的下标为0,从后向前取值;
public Object peek(int n) throws EmptyStackException {
int m = (size() - n) - 1;
if (m < 0) {
throw new EmptyStackException();
} else {
return get(m);
}
}

pop()方法:取出栈顶的值并从栈中移除(最后一个元素),返回移除的元素;
public Object pop() throws EmptyStackException {
int n = size();
if (n <= 0) {
throw new EmptyStackException();
} else {
return remove(n - 1);
}
}

push(Object item)方法:向栈中压入数据(添加数据到集合中),并返回添加的元素;

public Object push(Object item) {
add(item);
return item;
}

search(Object object)方法:从栈中查询指定元素,返回其下标;

public int search(Object object) {
int i = size() - 1; // Current index
int n = 1; // Current distance
while (i >= 0) {
Object current = get(i);
if ((object == null && current == null) ||
(object != null && object.equals(current))) {
return n;
}
i--;
n++;
}
return -1;
}

get()方法:返回栈的顶部元素(最后一个元素);

public Object get() {
int size = size();
if (size == 0) {
throw new BufferUnderflowException();
}
return get(size - 1);
}

remove()方法:移除栈的顶部元素(最后一个元素),并返回该元素;

public Object remove() {
int size = size();
if (size == 0) {
throw new BufferUnderflowException();
}
return remove(size - 1);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值