首先,栈只定义了默认构造函数,用来创建一个空栈。 栈除了包括由Vector定义的所有方法,也定义了自己的一些方法。
empty() | 可以用来判断栈是否为空 |
peek( ) | 仅仅只是查看谁是栈的顶部对象,其实就是栈顶(插入的最后一个对象) |
pop( ) | 移除栈顶部的对象,并可以作为当前函数的值返回该对象 |
push() | 把这个对象压入栈顶部 |
search() | 返回某个对象与栈顶的距离值 |
Stack<Character> stack = new Stack<>();
//new 一个字符型的栈,当然你也可以new 一个其他类型的,替换一下<>里的类型就~欧克了!!!
//判断是否为空的话,直接stack.empty()就可以了,也就是 .方法就欧克了。
当然写入栈也是一样直接.方法就ok了。
stack.push('a');
stack.push('b');
stack.push('c');
stack.push('d');
stack.push('e');
其他方法同理哈!!!
还有一点需要注意就是查看某个对象在栈中的位置,其实一开始我也蒙了,我就是插入上面5个字符,为啥我返回e就是-1呢???当时给我搞得贼萌B~~~
然后找了写资料,发现问题了,我理解错了,这里返回的位置,是这个元素距离栈顶的位置,而我返回的这个e就是栈顶,也就没有另一个e和它异地恋算间距了~~~
就是说e没对象,光棍一个,-1属于它!!!