构建栈对象:pop()方法: 获取栈顶元素,同时将元素移除,弹出栈 peek()方法: 获取栈顶元素
package com.company.栈和队列;
import java.util.Stack;
/**
* java.util.Stack : Vector的一个子类,实现了一个标准的后进先出的数据模型
* 堆栈只定义默认构造函数,用来创建一个空栈: 除了父类定义的方法,内部也定义了一些方法
*
* s.peek(); : 产看栈顶的元素但不移除它 public synchronized E peek() : 方法是同步的
* s.pop(); : 源码显示: pop方法也是调用peek() ,获取栈顶对象,但紧接着移除
* : public synchronized E pop() : 同步方法
*
* { ...部分源码省略
* obj = peek();
* removeElementAt(len - 1);
* }
*
* s.empty(); : 当前栈是否为空
* 源代码中: empty()方法调用了父类的size()方法
* public boolean empty() {
* return size() == 0;
* }
*
*
* s.search("s"); : 获取栈中对象的位置 int 值: 以1 为基数
*
*/
public class MyStackTest {
public static void main(String[] args) {
String fanzhuan = MyStackTest.fanzhuan("Hello world!");
System.out.println(fanzhuan);
}
//字符串反转
public static String fanzhuan(String str){
Stack<String> stack = new Stack<String>();
char[] charArray = str.toCharArray();
for (char c : charArray) {
stack.push(String.valueOf(c));
}
StringBuffer result = new StringBuffer();
while(!stack.isEmpty()){
result.append(stack.pop());
}
return result.toString();
}
}