Home  >  Article  >  Java  >  Java stack class usage examples (how to use stack in java)

Java stack class usage examples (how to use stack in java)

高洛峰
高洛峰Original
2017-01-24 15:00:091396browse

In JAVA, use the constructor method of the java.util.Stack class to create objects.

public class Stack extends vector

Constructor method: public Stack() creates an empty Stack.

Method: 1. public push (item) Push the item onto the top of the stack. Its effect is the same as addElement (item).

Parameter item is the item pushed onto the top of the stack. Return: item parameter;

2. public pop () removes the object on top of the stack and returns the object as the value of the function.

Return: The top object of the stack (the last item in the Vector object).

Throws exception: EmptyStackException if the stack is empty. . .

3. public peek() View the object on top of the stack without removing it. .

Return: The top object of the stack (the last item in the Vector object).

Throws exception: EmptyStackException if the stack is empty. . .

4. public boolean empty (tests whether the stack is empty.) Returns true if and only if the stack does not contain any items, otherwise returns false.

5. public int search (object o) Returns the position of the object in the stack, with 1 as the base. If object o is an item in the stack, this method returns the distance from the nearest occurrence position to the top of the stack; the distance to the top item in the stack is 1. Use the equals method to compare o with items on the stack. . .

Parameters: o Target object;

/** 
 * @author yuanLi
 */
package thinkingJava;
import java.util.*;

import com.sun.org.apache.bcel.internal.generic.NEW;
/** 
 * 
 */
public class StackTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Stack stack = new Stack(); // 创建堆栈对象 
        System.out.println("11111, absdder, 29999.3 三个元素入栈"); 
        stack.push(new Integer(11111)); //向 栈中 压入整数 11111
        printStack(stack);  //显示栈中的所有元素

        stack.push("absdder"); //向 栈中 压入
        printStack(stack);  //显示栈中的所有元素

        stack.push(new Double(29999.3)); //向 栈中 压入
        printStack(stack);  //显示栈中的所有元素

        String s = new String("absdder");
        System.out.println("元素absdder在堆栈的位置"+stack.search(s));      
        System.out.println("元素11111在堆栈的位置"+stack.search(11111));

        System.out.println("11111, absdder, 29999.3 三个元素出栈"); //弹出 栈顶元素 
        System.out.println("元素"+stack.pop()+"出栈");
        printStack(stack);  //显示栈中的所有元素
        System.out.println("元素"+stack.pop()+"出栈");
        printStack(stack);  //显示栈中的所有元素
        System.out.println("元素"+stack.pop()+"出栈");
        printStack(stack);  //显示栈中的所有元素

 
    }

    private static void printStack(Stack<Integer> stack ){
        if (stack.empty())
            System.out.println("堆栈是空的,没有元素");
            else {
                System.out.print("堆栈中的元素:");
                Enumeration items = stack.elements(); // 得到 stack 中的枚举对象 
                while (items.hasMoreElements()) //显示枚举(stack ) 中的所有元素
                    System.out.print(items.nextElement()+" ");
            }
        System.out.println(); //换行
    }
}

For more java stack class usage examples (how to use stack in java) related articles, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn