简介
永远是对栈顶元素操作,自上而下,栈的下表是从1开始的
 Stack 栈容器,是 Vector 的一个子类,它实现了一个标准的后进先出(LIFO:Last In Frist Out) 的栈。  
 特点:后进先出。它通过 5 个操作方法对 Vector 进行扩展,允许将向量视为堆栈。
Stack使用
import java.util.Stack;public class StackTest {public static void main(String[] args) {Stack<String> stack = new Stack<>(); //给出了栈的元素类型stack.push("a");stack.push("b");stack.push("c");String str1=stack.peek(); //查看栈顶元素并返回其值,但不删除它System.out.println(str1);boolean str2=stack.empty(); //栈的判空操作System.out.println(str2);int str3=stack.search("a");System.out.println(str3); //查找指定元素在栈的位置,自顶向下String str4= stack.pop(); //弹栈操作,取出栈顶元素并删除它System.out.println(str4);String str5=stack.pop();System.out.println(str5);}}
stack使用案例
import java.util.Stack;public class StackTest2 {public static void main(String[] args) {StackTest2 stackTest2=new StackTest2();stackTest2.symmetry();}public void symmetry(){String str="...{.....[....(....)...]....}..(....)..[...]...[";Stack<String> stack =new Stack<>();boolean flag=true;//哨兵参数,假设是匹配的for(int i=0;i<str.length();i++){char c=str.charAt(i); //charat()方法获取字符串元素,返回为字符类型if(c=='{'){stack.push("}");}if(c=='['){stack.push("]");}if(c=='('){stack.push(")");}if(c=='}'||c==']'||c==')'){if(stack.empty()){flag=false;break;}String x=stack.pop();if(x.charAt(0)!=c){flag=false;break;}}}if(!stack.empty()){ //非空说明没有对称的另一半flag=false;}System.out.println(flag);}}
