java中stack(栈)的使用代码实例

 更新时间:2017年12月12日 11:40:51   作者:街灯下的小草  
这篇文章主要介绍了java中stack(栈)的使用代码实例,具有一定借鉴价值,需要的朋友可以参考下。

java中stack类继承于vector,其特性为后进先出(lastinfirstout).

入栈和出栈实例图:

实例图的java代码实例:

package com.lanhuigu.java.ListTest;
import java.util.Stack;
public class StackTest {
	public static void main(String[] args) {
		Stack<String> staffs = new Stack<String>();
		// 入栈顺序: a,b,c,d,e 
		staffs.push("a");
		staffs.push("b");
		staffs.push("c");
		staffs.push("d");
		staffs.push("e");
		// 出栈顺序: e,d,c,b,a 
		while( !staffs.isEmpty()) {
			System.out.print(staffs.pop() + " ");
		}
	}
}

程序运行结果:

edcba

Stack类中方法:

官网API:

方法分析:

empty():判断栈是否为空,为空返回true,否则返回false

peek():取出栈顶元素,但是不从栈中移除元素

pop():取出栈顶元素,并且将其从栈中移除

push(Eitem):元素入栈

search(Objecto):在栈中查找元素位置,位置从栈顶开始往下算,栈顶为1,

依次往下数到所查找元素位置,如果所查找元素在栈中不存在,则返回-1。

关于这几个方法的实例:

package com.lanhuigu.java.ListTest;
import java.util.Stack;
public class StackMethodTest {
	public static void main(String[] args) {
		Stack<String> staffs = new Stack<String>();
		// 入栈顺序: a,b,c,d,e 
		staffs.push("a");
		staffs.push("b");
		staffs.push("c");
		staffs.push("d");
		staffs.push("e");
		System.out.println("empty():" + staffs.empty());
		System.out.println("peek():" + staffs.peek());
		System.out.println("search(Object o):" + staffs.search("a"));
		System.out.println("search(Object o):" + staffs.search("e"));
		System.out.println("search(Object o):" + staffs.search("no"));
		// 出栈顺序: e,d,c,b,a 
		while( !staffs.isEmpty()) {
			System.out.print(staffs.pop() + " ");
		}
		System.out.println("=====空栈中使用方法=======");
		System.out.println("empty():" + staffs.empty());
		//System.out.println("peek():" + staffs.peek());// 在空栈中使用时报错,因为没有栈顶元素 
		System.out.println("search(Object o):" + staffs.search("a"));
		System.out.println("search(Object o):" + staffs.search("e"));
		System.out.println("search(Object o):" + staffs.search("no"));
		//System.out.print(staffs.pop());// 空栈中移除栈顶元素,报错
	}
}

程序运行结果:

以上几个方法是Stack继承于Vector扩展的方法,因为Stack继承于Vector,哪么Vector中的非private方法

也是Stack类的方法。

Vector中的方法,官方API_1.8:

总结

以上就是本文关于java中stack(栈)的使用代码实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

  • Java语言----三种循环语句的区别介绍

    Java语言----三种循环语句的区别介绍

    下面小编就为大家带来一篇Java语言----三种循环语句的区别介绍。小编举得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • java中Map接口常用的方法解读

    java中Map接口常用的方法解读

    这篇文章主要介绍了java中Map接口常用的方法解读,Map接口是双列集合,它的每一个元素都包含一个键对象key和值对象Value,键和值对象之间存在一种对应关系,称为映射,需要的朋友可以参考下
    2024-01-01
  • 解决定时任务@Scheduled没有准时执行的原因及分析

    解决定时任务@Scheduled没有准时执行的原因及分析

    这篇文章主要介绍了解决定时任务@Scheduled没有准时执行的原因及分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Mybatis输入输出映射及动态SQL Review

    Mybatis输入输出映射及动态SQL Review

    这篇文章主要介绍了Mybatis输入输出映射及动态SQL Review,需要的朋友可以参考下
    2017-02-02
  • 详解Java8如何使用Lambda表达式进行比较

    详解Java8如何使用Lambda表达式进行比较

    Lambda表达式,也可称为闭包,是java8的新特性,作用是取代大部分内部类,优化java代码结构,让代码变得更加简洁紧凑。本文将利用Lambda表达式进行排序比较,需要的可以参考一下
    2022-01-01
  • Spring AOP的底层实现方式-代理模式

    Spring AOP的底层实现方式-代理模式

    这篇文章主要介绍了Spring AOP的底层实现方式-代理模式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • OGNL表达式基本语法与用法详解

    OGNL表达式基本语法与用法详解

    这篇文章主要介绍了OGNL表达式基本语法与用法详解,具有一定参考价值。需要的朋友可以了解下。
    2017-09-09
  • Java实现解出世界最难九宫格问题

    Java实现解出世界最难九宫格问题

    这篇文章主要介绍了Java实现解出世界最难九宫格问题,芬兰数学家因卡拉花费3个月设计出了世界上迄今难度最大的数独游戏,而且它只有一个答案,本文使用Java实现解出,需要的朋友可以参考下
    2015-01-01
  • Guava范围类Range方法实例深入解析

    Guava范围类Range方法实例深入解析

    这篇文章主要为大家介绍了Guava范围类Range方法实例深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 在IDEA中创建SpringBoot项目的详细步骤

    在IDEA中创建SpringBoot项目的详细步骤

    这篇文章主要给大家介绍了在IDEA中创建SpringBoot项目的详细步骤,文中有详细的图文介绍和代码示例,对大家的学习和工作有一定的帮助,需要的朋友可以参考下
    2023-09-09

最新评论