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


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

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

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

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

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

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

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

     

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

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

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

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

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

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

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

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

     

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

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

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

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

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

     

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

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

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

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

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

  • 相关阅读:
    x汽车登陆网站登陆rsa加密逆向
    OPPO主题组件开发 - 调试与预览
    图书馆座位预约系统
    英语学习笔记30——What must I do?
    Redis笔记基础篇:6分钟看完Redis的八种数据类型
    4.CentOS7安装MySQL5.7
    xxl-job架构原理
    yolov8操作步骤
    跟着狂神学Shiro(SpringBoot整合Shiro)
    file和FileReader之间的关系
  • 原文地址:https://blog.csdn.net/qq_21305943/article/details/132661569