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 @ 2022-01-18 11:43  从此重新定义啦  阅读(398)  评论(0编辑  收藏  举报