> 文档中心 > Java学习笔记<六>(Collection:Stack)

Java学习笔记<六>(Collection:Stack)


Stack

    /*list接口*/    /*stack栈*/    public static void main(String[] args) { //创建栈对象,使用Stack声明,有泛型,因为5个方法属于Stack栈容器独有,所以使用Stack声明 java.util.Stack aa = new java.util.Stack(); System.out.println(aa.empty());//查看栈是否为空,空位true //进栈 String bb = aa.push("a"); System.out.println(bb); aa.push("b"); aa.push("c"); System.out.println(aa.empty()); System.out.println(aa.peek());  //查看栈顶元素,但不取出 String pop = aa.pop();    System.out.println(pop); //查看栈顶元素并取出 System.out.println(aa.pop());   //第二次取出栈顶元素 System.out.println(aa.search("a")); //查看栈中是否有指定元素,有则返回栈中元素 System.out.println(aa.search(1));   //查看栈中是否有指定元素,没有则返回-1    }

判断字符串中元素是否对称

    /*==========Stack容器实用练习(判断字符串中元素是否对称)==========*/    String str="...(...[.....{...}....]...)...(....).....[.....]....";    public void DuiChen(){ Boolean out=true; java.util.Stack dd = new java.util.Stack(); for(int i=0;i<str.length();i++){     char c=str.charAt(i);   //String类的charAt()方法,根据索引值返回字符串中对应的单个字符     if(c=='('){  dd.push(")");     }     if (c=='['){  dd.push("]");     }     if (c=='{'){  dd.push("}");     }     if (c==')'||c==']'||c=='}'){  if (dd.empty()){      out=false;      break;  }  String g=dd.pop();  if (c!=g.charAt(0)){      out=false;      break;  }     } } if (!dd.empty()){    //字符串元素全部取出后判断后,如果容器中还有元素,字符串就不是对称的     out=false; } System.out.println(out);    }