Java中的Stack indexOf(Object, int)方法示例

Java中的Stack indexOf(Object, int)方法示例

Java.util.Stack.indexOf(Object element, int index)方法用于查找堆栈中指定元素的第一个出现位置,从索引开始向前搜索,如果未找到该元素则返回-1。更正式地,返回最低的索引i,使得(i >= index && Objects.equals (o,get(i))),如果没有这样的索引,则返回-1。

语法:

public int indexOf(Object element, 
                        int index)

参数: 这个方法接受两个参数:

  • 元素-Stack类型。它指定需要在堆栈中检查其是否出现的元素。
  • 索引-Integer类型。它指定从哪个索引开始搜索

返回值: 此方法返回元素在指定索引处在栈中的第一个出现位置或位置。否则,如果堆栈中不存在该元素,则返回-1。返回值的类型为整数。

异常:如果指定的索引为负,则此方法会抛出IndexOutOfBoundsException。

下面的程序说明了Java.util.Stack.indexOf()方法:

程序1:

// Java代码示例indexOf()
  
import java.util.*;
  
public class StackDemo {
    public static void main(String args[])
    {
  
        // 创建一个空Stack
        Stack<String> stack = new Stack<String>();
  
        // 使用add()方法将元素添加到Stack中
        stack.add("Geeks");
        stack.add("for");
        stack.add("Geeks");
        stack.add("10");
        stack.add("Geeks");
  
        // 显示Stack
        System.out.println("Stack: " + stack);
  
        // 返回第一个元素的位置
        System.out.println("第一个出现的位置"
                           + " of Geeks is at index:"
                           + stack.indexOf("Geeks"));
  
        // 使用indexOf()方法获取第二个Geeks出现
        System.out.println("第二个出现的位置"
                           + " of Geeks is at index: "
                           + stack.indexOf("Geeks",
                                           stack.indexOf("Geeks")));
    }
}
Stack: [Geeks, for, Geeks, 10, Geeks]
第一个出现的位置 of Geeks is at index:0
第二个出现的位置 of Geeks is at index: 0

程序2: 演示IndexOutOfBoundsException

// Java代码示例indexOf()
import java.util.*;
  
public class StackDemo {
    public static void main(String args[])
    {
  
        // 创建一个空Stack
        Stack<Integer> stack = new Stack<Integer>();
  
        // 使用add()方法将元素添加到Stack中
        stack.add(1);
        stack.add(2);
        stack.add(3);
        stack.add(10);
        stack.add(20);
  
        // 显示Stack
        System.out.println("Stack: " + stack);
  
        // 使用indexOf()方法获取Geeks的-1出现
        System.out.println("Geeks的-1出现位置为: ");
  
        try {
            stack.indexOf("Geeks",
                          stack.indexOf("Geeks"));
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
Stack: [1, 2, 3, 10, 20]
The -1 occurrence of Geeks is at index: 
java.lang.ArrayIndexOutOfBoundsException: -1

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程