Java Collection Framework中的堆栈类


本文向大家介绍Java Collection Framework中的堆栈类,包括了Java Collection Framework中的堆栈类的使用技巧和注意事项,需要的朋友参考一下

堆栈类

  • 堆栈类在java.util包中可用。

  • Stack类是子类Vector类的。

  • 众所周知,Stack是LIFO(后进先出)数据结构。

  • 此处给出LIFO的上述观点意味着最后插入的元素将首先弹出。

  • 堆栈类仅包含一个构造函数,即默认构造函数。

  • 默认构造函数的语法如下:

    Stack st = new Stack();
  • 堆栈类定义了各种方法来执行各种任务到堆栈上。堆栈类方法的名称如下:

    1. void push(Object obj)

    2. 目的 pop()

    3. 目的 peek()

    4. 布尔值 empty()

    5. int搜索(对象obj)

  • 现在,我们将看到上面给出的Stack方法的目的,并且我们将一一研究。

i)void push(Object obj)

  • 此方法用于将元素压入堆栈。

  • 此方法在Stack方法中使用一个参数,该参数是要插入到Stack中的对象。

ii)对象 pop()

  • 此方法用于从堆栈中删除元素,然后返回到堆栈顶部。

  • 此方法在Stack方法中不传递任何参数。

iii)布尔值 empty()

  • 此方法用于检查堆栈是否为空。

  • 我们不会在Stack方法中将任何对象作为参数传递。

  • 此方法的返回类型为Boolean,因此如果Stack为空,则返回true。

iv)对象 peek()

  • 此方法用于返回堆栈的顶部。

  • 我们不会在Stack方法中将任何对象作为参数传递。

v)int搜索(Object obj)

  • 此方法用于将元素搜索到堆栈中。

  • 我们仅将一个对象作为参数传递给Stack方法,而该参数是要在Stack中搜索的对象。

  • 此方法的返回类型为int,因此,如果在堆栈中找到一个对象,则它从堆栈顶部返回偏移量或地址,否则,如果在堆栈上未找到对象,则返回-1。

示例

//Java程序来演示Stack的行为。
import java.util.*;

class StackClass {
    public static void main(String[] args) {
        //创建一个Stack实例
        Stack st = new Stack();

        //通过使用push()将少量元素压入堆栈的方法
        st.push(10);
        st.push(20);
        st.push(30);
        st.push(40);
        st.push(50);

        //显示当前堆栈
        System.out.println("Current Stack List:" + st);

        //删除元素 
        //堆叠并返回堆叠顶部
        System.out.println("The Popped Element:" + st.pop());

        //通过使用peek()方法返回栈顶
        System.out.println("The top of the Stack:" + st.peek());

        //通过使用search()方法从堆栈中搜索元素
        System.out.println("Search element is:" + st.search(30));
        System.out.println("Search element not found:" + st.search(60));
    }
}

输出结果

E:\Programs>javac StackClass.java

E:\Programs>java StackClass
Current Stack List:[10, 20, 30, 40, 50]
The Popped Element:50
The top of the Stack:40
Search element is:2
Search element not found:-1