java集合【13】——— Stack源码分析走一波

前言

集合源码分析系列:Java集合源码分析

前面已经把Vector,ArrayList,LinkedList分析完了,本来是想开始Map这一块,但是看了下面这个接口设计框架图:整个接口框架关系如下(来自百度百科):

原来还有一个漏网之鱼,Stack栈的是挂在Vector下,前面我们已经分析过Vector了,那么顺便把Stack分析一遍。再不写就2022年了:

Stack介绍

栈是一种数据结构,并不是Java特有的,在Java里面体现是Stack类。它的本质是先进后出,就像是一个桶,只能不断的放在上面,取出来的时候,也只能不断的取出最上面的数据。要想取出底层的数据,只有等到上面的数据都取出来,才能做到。当然,如果有这种需求,我们一般会使用双向队列。

以下是栈的特性演示:

StackJava中是继承于Vector,这里说的是1.8版本,共用了Vector底层的数据结构,底层都是使用数组实现的,具有以下的特点:

  • 先进后出(``FILO`)
  • 继承于Vector</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java集合中的`Stack`类是基于后进先出(LIFO)原则的数据结构。它继承自`Vector`类,并提供了一些额外的方法用于实现堆栈操作。 要使用`Stack`类,首先需要导入`java.util.Stack`包。然后可以创建一个`Stack`对象并开始进行堆栈操作。 以下是一个简单的示例代码,展示了如何使用`Stack`类: ```java import java.util.Stack; public class StackExample { public static void main(String[] args) { // 创建一个空的堆栈 Stack<String> stack = new Stack<>(); // 压入元素到堆栈中 stack.push("Java"); stack.push("C++"); stack.push("Python"); // 查看堆栈顶部的元素 String topElement = stack.peek(); System.out.println("Top element: " + topElement); // 弹出堆栈顶部的元素 String poppedElement = stack.pop(); System.out.println("Popped element: " + poppedElement); // 判断堆栈是否为空 boolean isEmpty = stack.isEmpty(); System.out.println("Is stack empty? " + isEmpty); // 获取堆栈的大小 int size = stack.size(); System.out.println("Stack size: " + size); } } ``` 上述代码首先创建了一个空的`Stack`对象,然后通过`push()`方法将一些字符串压入堆栈中。使用`peek()`方法可以查看堆栈顶部的元素,而`pop()`方法可以弹出堆栈顶部的元素。`isEmpty()`方法用于判断堆栈是否为空,`size()`方法可以获取堆栈的大小。 运行上述代码,你会看到以下输出: ``` Top element: Python Popped element: Python Is stack empty? false Stack size: 2 ``` 这只是`Stack`类的基本用法示例,你还可以使用其他方法来处理堆栈中的元素。希望能对你有所帮助!如果你还有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值