HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
  • 《可观测和监控》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
  • 《可观测和监控》
随笔
关于作者
  • 《PureJavaCoderRoad》

    • 导读

    • Java基础

    • Java进阶

      • 常用类

      • 集合

        • Comparable接口
        • Deque
        • HashCode和equals
        • Iterator与Collection
        • List
        • Map
        • Queue
        • Set
        • Stack
        • 集合类的介绍
      • 反射

      • IO

      • Java新特性

      • 序列化与反序列
      • 泛型
    • Java高阶

    • 开发辅助工具

    • 计算机网络

    • 数据库

    • JavaEE

    • 中间件

    • 架构

    • 建议

  • PureJavaCoderRoad
  • Java进阶
  • 集合
#Stack
码农阿雨
2022-05-26
目录

Stack

# Stack介绍

栈是Vector的一个子类,它实现了一个标准的后进先出的栈。

public class Stack<E> extends Vector<E> {

和队列Queue恰好相反,队列是先进先出

Vector是通过数组实现的,这就意味着,Stack也是通过数组实现的,而非链表。

Stack的继承关系:

java.lang.Object
↳     java.util.AbstractCollection<E>
   ↳     java.util.AbstractList<E>
       ↳     java.util.Vector<E>
           ↳     java.util.Stack<E>

Stack和Collection的关系如下图:

# Stack 的API

序号 方法描述
1 boolean empty() 测试堆栈是否为空。
2 Object peek( ) 查看堆栈顶部的对象,但不从堆栈中移除它。
3 Object pop( ) 移除堆栈顶部的对象,并作为此函数的值返回该对象。
4 Object push(Object element) 把项压入堆栈顶部。
5 int search(Object element) 返回对象在堆栈中的位置,以 1 为基数。

使用例子:

public class StackTest {
    public static void main(String[] args) {
        Stack<String> stack = new Stack<>();
        stack.add("0");
        stack.add("1");
        stack.add("2");
        stack.add("3");
        while (stack.size()>0){
            System.out.print(stack.pop()+" ");
        }
    }
}

控制台输出:

3 2 1 0 
阅读全文
×

(为防止恶意爬虫)
扫码或搜索:HelloCoder
发送:290992
即可永久解锁本站全部文章

解锁
#Stack
上次更新: 2025-09-05 07:09:03
Set
集合类的介绍

← Set 集合类的介绍→

最近更新
01
阿里面试题(答案)
09-05
02
《LeetCode 101》
09-05
03
《LeetCode CookBook》
09-05
更多文章>
Theme by Vdoing | Copyright © 2020-2025 码农阿雨
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式