Java Stack search() 方法



描述

search(Object o) 方法用於返回物件在此棧中的基於 1 的位置。

宣告

以下是 java.util.Stack.search() 方法的宣告。

public int search(Object o)

引數

o − 這是所需的物件。

返回值

方法呼叫返回物件所在位置從棧頂開始的基於 1 的位置。

異常

在棧中搜索整數示例

以下示例演示瞭如何使用 Java Stack search() 方法在棧中搜索整數,使用基於 1 的索引。在此示例中,我們建立了一個整數型別的 Stack 物件。然後,我們向棧中添加了一些整數,並使用 search() 方法列印搜尋元素的索引。

package com.tutorialspoint;

import java.util.Stack;

public class StackDemo {
   public static void main(String args[]) {

      // creating stack
      Stack<Integer> st = new Stack<>();

      // populating stack
      st.push(10);
      st.push(20);
      st.push(30);

      // searching 30 in the stack
      System.out.println("Searching 30 in stack: "+st.search(30));
   }    
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

Searching 30 in stack: 1

在棧中搜索字串示例

以下示例演示瞭如何使用 Java Stack search() 方法在棧中搜索字串,使用基於 1 的索引。在此示例中,我們建立了一個字串型別的 Stack 物件。然後,我們向棧中添加了一些字串,並使用 search() 方法列印搜尋字串的索引。

package com.tutorialspoint;

import java.util.Stack;

public class StackDemo {
   public static void main(String args[]) {

      // creating stack
      Stack<String> st = new Stack<>();

      // populating stack
      st.push("Java");
      st.push("Source");
      st.push("code");

      // searching 'code' element
      System.out.println("Searching 'code' in stack: "+st.search("code"));
   }    
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

Searching 'code' in stack: 1

在棧中搜索物件示例

以下示例演示瞭如何使用 Java Stack search() 方法在棧中搜索物件,使用基於 1 的索引。在此示例中,我們建立了一個 Student 物件的 Stack。然後,我們向棧中添加了一些學生,並使用 search() 方法列印搜尋學生的索引。

package com.tutorialspoint;

import java.util.Stack;

public class StackDemo {
   public static void main(String args[]) {

      // creating stack
      Stack<Student> st = new Stack<>();

      // populating stack
      st.push(new Student(1, "Julie"));
      st.push(new Student(2, "Robert"));
      st.push(new Student(3, "Adam"));

      // searching 'Adam'
      System.out.println("Searching 'Adam' in stack: "+st.search(new Student(3, "Adam")));
   }    
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   // equals method is overridden so that we can search the student using
   // our custom logic
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果。

Searching 'Adam' in stack: 1
java_util_stack.htm
廣告