大家好,我是Java进阶!一、Stack类1.Stack是Vector的子类,实现了标准的后进先出栈。Stack只定义了一个创建空栈的默认构造函数。Stack()2、Stack类的主要实现有以下几个方法:(1)booleanempty()方法是判断栈是否为空。(2)Objectpeek()方法返回栈顶元素,但不将其从栈中移除。(3)Objectpop()方法是取出栈顶的对象,并将该对象作为本函数的值返回。(4)Objectpush(Objectelement)方法是将元素压入栈中。(5)intsearch(Objectelement)方法是返回对象在栈中的位置,它是根据1.2.Stack类的booleanempty()方法1.booleanempty()方法是判断栈是否为空,需要一个变量来计算当前栈的长度。如果变量的值为0,则表示栈为空。2、实例的实现:importjava.util.Stack;publicclassT7{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//定义一个String泛型StackStackstack=newStack();//判断新创建的栈是否为空booleanflag=stack.empty();if(flag){System.out.println("新建栈为空");}else{System.out.println("新建栈不为空,其长度为:"+stack.size());}}}运行结果如下:2.Stack类的Objectpeek()方法1.Objectpeek()方法返回栈顶元素,不带对堆栈本身进行任何更改。如果栈中有元素,则返回最顶层的元素。2、实例实现importjava.util.Stack;publicclassT8{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//定义一个String泛型StackStackstack=newStack();//将Push元素入栈stack.push("Java");stack.push("Python");stack.push("PHP");stack.push("SoftwareTesting");stack.push("SoftwareEngineering");//返回栈顶元素,但是不从栈中移除StringtopE=stack.peek();System.out.println("返回栈顶元素为:"+topE);}}run结果如下:3.Objectpop()Stack类的方法1.Objectpop()方法移除栈顶的对象,并将该对象作为本函数的值返回。2、实例实现importjava.util.Stack;publicclassT8{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//定义一个String泛型StackStackstack=newStack();//将Push元素入栈stack.push("Java");stack.push("Python");stack.push("PHP");stack.push("软件测试");stack.push("软件工程");System.out.println("Theelementsinthestackare:"+stack);//移除栈顶元素,但不从栈中移除Stringremove=stack.pop();System.out.println("移除的栈顶元素是:“+删除);System.out.println("移除后栈中的元素为:"+stack);}}运行结果如下:4.Stack类Objectpush(Objectelement)方法1.push(Objectelement)方法将入栈的元素添加到数组尾部,数组长度加1。2.importjava.util.Stack实例的实现;publicclassT9{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//定义一个Integer泛型StackStackstack=newStack();//将Push元素入栈stack.push(10);stack.push(20);stack.push(30);stack.push(40);System.out.println("栈中的元素为:"+stack);}}运行结果如下:五、Stack类的intsearch(Objectelement)方法1、intsearch(Objectelement)方法返回对象在栈中的位置,基于1。2、实例importjava.util的实现。堆;publicclassT9{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//定义一个Integer泛型StackStackstack=newStack();//将Push元素入栈stack.push(10);stack.push(20);stack.push(30);stack.push(40);System.out.println("栈中的元素为:"+stack);//返回对象在栈中的位置,这是基于1intfind=stack.search(20);System.out.println("返回对象在栈中的位置:"+find);}}结果如下:6.总结本文主要介绍Stack类和Stack类的常用方法,如booleanempty()方法、Objectpeek()方法、Objectpop()方法、Objectpush(Objectelement)方法、intsearch(Objectelement)方法。Stack是Vector的子类,它实现了标准的后进先出堆栈。empty()方法判断栈是否为空,peek()方法返回栈顶元素而不对栈本身做任何改变,pop()方法移除栈顶对象,而push()方法将元素压入栈中,其中search()方法返回对象在栈中的位置,以1为准。通过本文的学习,希望对大家有所帮助你!本文转载自微信公众号《Java进阶学习交流》,可通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。