100个Java工具类之60:栈类Stack

栈类Stack,包名是java.util.Stack,继承java.util.Vector类。

栈是一种后进先出的数据结构,允许数据的动态插入和删除。

下面是栈类Stack的几个主要用法。

一、push(E item): 将元素 item 压入栈顶。

Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);

二、pop(): 弹出栈顶元素,并返回该元素。

Integer item = stack.pop();
输出:2

 

三、peek(): 返回栈顶元素,但不删除该元素。

Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
Integer item = stack.peek();
输出:2

四、isEmpty(): 检查栈是否为空。

boolean isEmpty = stack.isEmpty();
输出:false

五、search(Object o): 返回元素的索引

Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
int index = stack.search(2);
输出:1

六、element(): 获取栈顶元素

Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
Enumeration<Integer> stackEnumeration = stack.elements();
while (stackEnumeration.hasMoreElements()) {
    Integer element = stackEnumeration.nextElement();
    System.out.println(element);
}
输出:1 2

 

七、addElement(E item): 在栈顶添加一个元素

addElement和push方法非常相似,区别在于新元素被放置的位置。

使用push方法时,新元素位于栈顶;

使用addElement方法时,新元素位于栈底。

Stack<String> stack = new Stack<>();
stack.addElement("张三");
stack.addElement("李四");
输出:[张三, 李四]

 

八、removeElement(Object obj): 删除元素。

stack.removeElement("张三");
输出:[李四]

九、elementAt(int index): 返回指定位置的元素。

String element = stack.elementAt(0);
输出:李四

注意:java.util.Stack类已经过时,取而代之的是java.util.Deque接口的实现类,例如:ArrayDeque 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值