Stack

Stack继承于Vector,Stack是栈,它包含Vector中的全部API
Stack是通过数组实现的,而非链表
特性是FILO:first in last out
入栈和出栈都是对栈顶元素而言

Stack只有一个默认构造函数
Stack()

   Stack实际上也是通过数组去实现的。
       执行push时(即,将元素推入栈中),是通过将元素追加的数组的末尾中。
       执行peek时(即,取出栈顶元素,不执行删除),是返回数组末尾的元素。
       执行pop时(即,取出栈顶元素,并将该元素从栈中删除),是取出数组末尾的元素,然后将该元素从数组中删除。
  Stack继承于Vector,意味着Vector拥有的属性和功能,Stack都拥有。


代码:
复制代码
package day19;
/*
Stack继承于Vector,Stack是栈,它包含Vector中的全部API
Stack是通过数组实现的,而非链表
特性是FILO:first in last out
入栈和出栈都是对栈顶元素而言

Stack只有一个默认构造函数
Stack()


* */
import org.junit.Test;

import java.util.Stack;

public class Demo4 {
    @Test
    public void test1(){
        //模拟栈操作
        Stack<String> stack = new Stack<>();
        stack.push("贾宝玉");
        stack.push("贾珠");
        stack.push("贾环");
        System.out.println(stack);//[贾宝玉, 贾珠, 贾环]

        int index = stack.search("贾宝玉");
        System.out.println(index);//3

        String p1 = stack.peek();
        System.out.println(p1);//贾环

        System.out.println(stack);//[贾宝玉, 贾珠, 贾环]

        //弹栈
        String popString = stack.pop();
        System.out.println(popString);//贾环
        System.out.println(stack);//[贾宝玉, 贾珠]

        String p2 = stack.peek();
        System.out.println(p2);//贾珠

        int indexs = stack.search("贾宝玉");
        System.out.println(indexs);//2

        boolean isEmpty = stack.empty();
        System.out.println(isEmpty);//false
    }
}
复制代码

 




posted @   从此重新定义啦  阅读(523)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-01-18 MongoDB balancer操作和备份
点击右上角即可分享
微信分享提示