构建栈对象: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 stack = new Stack();
        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();
    }
}


你可能感兴趣的:(栈)