更新時間:2022-06-22 11:58:58 來源:動力節點 瀏覽1235次
Java Stack的set()方法用于將使用 Stack 類創建的堆棧中的任何特定元素替換為另一個元素。這可以通過在 set() 方法的參數中指定要替換的元素的位置和新元素來完成。
public E set(int index, Object element)
參數:此函數接受兩個參數,如上述語法所示,如下所述。
index:這是整數類型,指的是要從堆棧中替換的元素的位置。
element:它將替換現有元素的新元素,并且與堆棧具有相同的對象類型。
返回值:該方法從堆棧中返回被新值替換的前一個值。
異常:此方法拋出以下異常:
UnsupportedOperationException:如果此堆棧不支持設置操作
ClassCastException : 如果指定元素的類阻止它被添加到這個堆棧
NullPointerException : 如果指定元素為 null 并且此堆棧不允許 null 元素
IllegalArgumentException : 如果指定元素的某些屬性阻止它被添加到此堆棧
IndexOutOfBoundsException : 如果索引超出范圍 (index = size())
示例 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);
}
}
輸出:
堆棧:[Geeks, for, Geeks, 10, 20]
被替換的對象是:Geeks
被替換的對象是:20
新的 Stack 是:[Geeks, for, GFG, 10, 50]
示例 2:演示 IndexOutOfBoundException
// 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 10th with GFG
// and the 10th element does not exist
System.out.println("Trying to replace 10th "
+ "element with GFG");
try {
stack.set(10, "GFG");
}
catch (Exception e) {
System.out.println(e);
}
}
}
輸出:
堆棧:[Geeks, for, Geeks, 10, 20]
試圖用 GFG 替換第 10 個元素
java.lang.ArrayIndexOutOfBoundsException:數組索引超出范圍:1
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習