Java中的Stack search()方法
java.util.Stack.search(对象元素)方法用于在堆栈中搜索元素并获取其到顶部的距离。此方法从1而不是从0开始计算位置。堆栈顶部的元素被认为在位置1。如果存在多个元素,则返回离顶部最近的元素的索引。如果成功找到元素,则该方法返回其位置,如果元素不存在,则返回-1。
语法:
STACK.search(element)
参数: 该方法接受一个参数element,它引用需要在Stack中搜索的元素。
返回值: 如果成功在堆栈中找到元素(以字符1为基数),则该方法返回元素的位置,否则返回-1。
下面的程序演示了java.util.Stack.search()方法的工作原理:
程序1:
//演示search()方法的Java代码
import java.util.*;
public class Stack_Demo {
public static void main(String[] args)
{
// 消息堆栈
Stack <String> STACK = new Stack <String>();
// 串联字符串
STACK.push("Geeks");
STACK.push("4");
STACK.push("Geeks");
STACK.push("Welcomes");
STACK.push("You");
// 显示堆栈
System.out.println("The stack is: "+STACK);
// 检查元素“4”
System.out.println("Does the stack contains '4'? "+STACK.search("4"));
// 检查元素“Hello”
System.out.println("Does the stack contains 'Hello'? "+STACK.search("Hello"));
// 检查元素“Geeks”
System.out.println("Does the stack contains 'Geeks'? "+STACK.search("Geeks"));
}
}
The stack is: [Geeks, 4, Geeks, Welcomes, You]
Does the stack contains '4'? 4
Does the stack contains 'Hello'? -1
Does the stack contains 'Geeks'? 3
程序2:
//演示search()方法的Java代码
import java.util.*;
public class Stack_Demo {
public static void main(String[] args)
{
// 创建一个空堆栈
Stack <Integer> STACK = new Stack <Integer>();
// 堆栈int值
STACK.push(8);
STACK.push(5);
STACK.push(9);
STACK.push(2);
STACK.push(4);
// 显示堆栈
System.out.println("The stack is: "+STACK);
// 检查元素9
System.out.println("Does the stack contains '9'? "+STACK.search(9));
// 检查元素10
System.out.println("Does the stack contains '10'? "+STACK.search(10));
// 检查元素11
System.out.println("Does the stack contains '11'? "+STACK.search(11));
}
}
The stack is: [8, 5, 9, 2, 4]
Does the stack contains '9'? 3
Does the stack contains '10'? -1
Does the stack contains '11'? -1