在Java中使用Stack lastIndexOf(Object, int)方法及示例

在Java中使用Stack lastIndexOf(Object, int)方法及示例

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

语法:

public int lastIndexOf(Object element, 
                        int last_index)
Java

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

  • element 属于Stack类型。指定需要在Stack中检查其出现次数的元素。
  • last index 属于Integer类型。它指定要从哪里开始搜索最后一个索引。

返回值: 该方法返回元素在指定的最后索引处在Stack中首次出现的最后索引或位置。否则,如果Stack中不存在该元素,则返回-1。返回值的类型为整数。

异常:如果指定的索引大于或等于此vector的当前大小,则此方法抛出IndexOutOfBoundsException

以下程序说明了Java.util.Stack.lastIndexOf()方法:

程序1:

// Java代码演示lastIndexOf()
  
import java.util.*;
  
public class StackDemo {
    public static void main(String args[])
    {
  
        // 创建一个空堆栈
        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("Geeks的第一次出现是在最后一个索引处:"
                           + stack.indexOf("Geeks"));
  
        // 使用lastIndexOf()方法获取Geeks的最后一次出现
        System.out.println("最后一次出现的Geeks在最后一个索引处: "
                           + stack
                                 .lastIndexOf("Geeks",
                                              stack.lastIndexOf("Geeks")));
    }
}
Java
Stack[GeeksforGeeks10Geeks]
Geeks的第一次出现是在最后一个索引处:0
最后一次出现的Geeks在最后一个索引处:4
 ```  

**程序2** 说明IndexOutOfBoundsException 
```java 
// Java代码演示lastIndexOf()
import java.util.*;
  
public class StackDemo {
    public static void main(String args[])
    {
  
        // 创建一个空堆栈
        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);
  
        //  获取第10次Geeks出现的位置
        // 在使用lastIndexOf()方法
        System.out.println("第10次出现"
                           + " of Geeks is at索引:");
  
        try {
            stack.lastIndexOf("Geeks", 10);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
Java
Stack: [1, 2, 3, 10, 20]10Geeks出现的索引位置为:
java.lang.IndexOutOfBoundsException: 10 >= 5
Java

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册