Java中的Stack set()方法及示例

Java中的Stack set()方法及示例

Java Stack的 set() 方法用于将栈中某个特定元素替换为另一个元素。这可以通过在set()方法的参数中指定要替换的元素的位置和新元素来完成。

语法:

public E set(int index, Object element)

参数: 该方法接受两个参数,如上面的语法所示,并描述如下。

  • index: 这是整数类型,指的是要从堆栈中替换的元素的位置。
  • element: 这是要用于替换现有元素的新元素,与堆栈的对象类型相同。

返回值: 该方法返回替换为新值的栈中先前的值。

异常:该方法会抛出以下异常:

  • UnsupportedOperationException:如果不支持此堆栈的set操作
  • ClassCastException:如果指定元素的类阻止将其添加到此堆栈中,则会抛出该异常。
  • NullPointerException:如果指定元素为空且此堆栈不允许空元素,则会抛出该异常。
  • IllegalArgumentException:如果指定元素的某些属性阻止将其添加到此堆栈中,则会抛出该异常。
  • IndexOutOfBoundsException:如果索引超出范围(索引=大小()),则会抛出该异常。

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

示例1:

// Java code to illustrate set()
  
import java.io.*;
import java.util.*;
  
public class StackDemo {
    public static void main(String args[])
    {
        // Creating an empty Stack
        Stack<String> stack
            = new Stack<String>();
  
        // Use add() method to add elements in the stack
        stack.add("Geeks");
        stack.add("for");
        stack.add("Geeks");
        stack.add("10");
        stack.add("20");
  
        // Displaying the linkedstack
        System.out.println("Stack:"
                           + stack);
  
        // Using set() method to replace Geeks with GFG
        System.out.println("The Object that is replaced is: "
                           + stack.set(2, "GFG"));
  
        // Using set() method to replace 20 with 50
        System.out.println("The Object that is replaced is: "
                           + stack.set(4, "50"));
  
        // Displaying the modified linkedstack
        System.out.println("The new Stack is:"
                           + stack);
    }
}
Stack:[Geeks, for, Geeks, 10, 20]
The Object that is replaced is: Geeks
The Object that is replaced is: 20
The new Stack is:[Geeks, for, GFG, 10, 50]

示例2:展示IndexOutOfBoundException

// Java代码演示set()
 
import java.io.*;
import java.util.*;
 
public class StackDemo {
    public static void main(String args[])
    {
        // 创建一个空堆栈
        Stack<String> stack
            = new Stack<String>();
 
        // 使用add()方法将元素添加到堆栈中
        stack.add("Geeks");
        stack.add("for");
        stack.add("Geeks");
        stack.add("10");
        stack.add("20");
 
        // 显示链式堆栈
        System.out.println("Stack:"
                           + stack);
 
        // 使用set()方法将第10个元素替换为GFG
        // 第10个元素不存在
        System.out.println("尝试将第10个元素替换为GFG");
 
        try {
            stack.set(10, "GFG");
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}
Stack:[Geeks, for, Geeks, 10, 20]
尝试将第10个元素替换为GFG
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 10

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程