首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >盘点Java基础中的Stack类及其常用方法

盘点Java基础中的Stack类及其常用方法

作者头像
Java进阶者
发布2021-07-23 11:47:21
1.7K0
发布2021-07-23 11:47:21
举报

大家好,我是Java进阶者!

一、Stack类

1.Stack是Vector的一个子类,它实现标准的后进先出堆栈。Stack只定义了创建空堆栈的默认构造方法。

Stack()

2.Stack类里面主要实现的有以下的几个方法:

(1)boolean empty( )方法是判断堆栈是否为空。

(2)Object peek( )方法是返回栈顶端的元素,但不从堆栈中移除它。

(3)Object pop( )方法是移除堆栈顶部的对象,并作为此函数的值返回该对象。

(4)Object push (Object element)方法是把元素压入栈。

(5)int search(Object element)方法是返回对象在堆栈中的位置,它是以1为基数。

二、Stack类boolean empty()方法

1.boolean empty()方法是判断堆栈是否为空,就需要有一个变量来计算当前栈的长度,若变量的值为0,说明这个栈是空的。

2.例子的实现:

import java.util.Stack;
public class T7 {
public static void main(String[] args) {
        // TODO Auto-generated method stub
        //定义一个String泛型的Stack
        Stack<String> stack = new Stack<String>();
        //判断新建的栈是否为空
        boolean flag=stack.empty();
        if(flag){
            System.out.println("新建的栈是为空");
        }else{
            System.out.println("新建的栈是不为空,它的长度是:"+stack.size());
        }
}
}

运行的结果如下所示:

二、Stack类Object peek()方法

1.Object peek( )方法是返回栈顶端的元素,对堆栈中本身不做任何的改动。若栈里有元素就返回最顶端的元素。

2.例子的实现

import java.util.Stack;
public class T8 {
public static void main(String[] args) {
        // TODO Auto-generated method stub
        //定义一个String泛型的Stack
        Stack<String> stack = new Stack<String>();
        //把元素压入栈中
        stack.push("Java");
        stack.push("Python");
        stack.push("PHP");
        stack.push("软件测试");
        stack.push("软件工程");
        //返回栈顶端的元素,但不从堆栈中移除它
        String topE=stack.peek();
        System.out.println("返回堆栈中的栈顶元素为 : "+topE);
}
}

运行的结果如下所示:

三、Stack类Object pop()方法

1.Object pop()方法移除堆栈顶部的对象,并作为此函数的值返回该对象。

2.例子的实现

import java.util.Stack;
public class T8 {
public static void main(String[] args) {
        // TODO Auto-generated method stub
        //定义一个String泛型的Stack
        Stack<String> stack = new Stack<String>();
        //把元素压入栈中
        stack.push("Java");
        stack.push("Python");
        stack.push("PHP");
        stack.push("软件测试");
        stack.push("软件工程");
        System.out.println("堆栈中的元素有:"+stack);
        //移除堆栈顶部的元素,但不从堆栈中移除它
        String remove=stack.pop();
        System.out.println("移除堆栈顶部的元素有:"+remove);
        System.out.println("移除后堆栈中的元素有:"+stack);
}
}

运行的结果如下所示:

四、Stack类Object push (Object element)方法

1.push(Object element)方法把入栈的元素添加到数组的末尾,数组的长度就加1。

2.例子的实现

import java.util.Stack;
public class T9 {
public static void main(String[] args) {
        // TODO Auto-generated method stub
        //定义一个Integer泛型的Stack
        Stack<Integer> stack = new Stack<Integer>();
        //把元素压入栈中
        stack.push(10);
        stack.push(20);
        stack.push(30);
        stack.push(40);
        System.out.println("堆栈中的元素有:"+stack);
}
}

运行的结果如下所示:

五、Stack类int search(Object element)方法

1.int search(Object element)方法是返回对象在堆栈中的位置,它是以1为基数。

2.例子的实现

import java.util.Stack;
public class T9 {
public static void main(String[] args) {
        // TODO Auto-generated method stub
        //定义一个Integer泛型的Stack
        Stack<Integer> stack = new Stack<Integer>();
        //把元素压入栈中
        stack.push(10);
        stack.push(20);
        stack.push(30);
        stack.push(40);
        System.out.println("堆栈中的元素有:"+stack);
        //返回对象在堆栈中的位置,它是以1为基数
        int find=stack.search(20);
        System.out.println("返回对象在堆栈中的位置:"+find);
}
}

运行的结果如下所示:

六、总结

本文主要介绍了Stack类、Stack类的常用方法,例如boolean empty()方法、Object peek()方法、Object pop()方法、Object push (Object element)方法、int search(Object element)方法。Stack是Vector的一个子类,它实现标准的后进先出堆栈。empty()方法判断堆栈是否为空、peek()方法返回栈顶端的元素,对堆栈中本身不做任何的改动、pop()方法移除堆栈顶部的对象、push()方法把元素压入栈中、search()方法是返回对象在堆栈中的位置,它是以1为基数。通过本文的学习,希望对你有所帮助!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java进阶学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Stack类
  • 二、Stack类boolean empty()方法
  • 二、Stack类Object peek()方法
  • 三、Stack类Object pop()方法
  • 四、Stack类Object push (Object element)方法
  • 五、Stack类int search(Object element)方法
  • 六、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档