The setElementAt() method of Java Stack is used to set the component at the specified index of this vector to be the specified object. The previous component at that position is discarded. The index must be a value greater than or equal to 0 and less than the current size of the vector.
Syntax:
public void setElementAt(E element, int index)
Parameters: This function accepts two parameters as shown in the above syntax and described below.
- element: It is the new element by which the existing element will be replaced and is of the same object type as the stack.
- index: This is of integer type and refers to the position of the element that is to be replaced from the stack.
Return Value: This method do not return anything.
Exception: This method throws ArrayIndexOutOfBoundsException if the index is out of range (index = size())
Below program illustrate the Java.util.Stack.setElementAt() method:
Example 1:
import java.io.*;
import java.util.*;
public class StackDemo {
public static void main(String args[])
{
Stack<String> stack
= new Stack<String>();
stack.add( "Geeks" );
stack.add( "for" );
stack.add( "Geeks" );
stack.add( "10" );
stack.add( "20" );
System.out.println( "Stack:"
+ stack);
stack.setElementAt( "GFG" , 2 );
System.out.println( "Geeks replaced with GFG" );
System.out.println( "The new Stack is:"
+ stack);
}
}
|
Output:
Stack:[Geeks, for, Geeks, 10, 20]
Geeks replaced with GFG
The new Stack is:[Geeks, for, GFG, 10, 20]
Example 2: To demonstrate ArrayIndexOutOfBoundsException
import java.io.*;
import java.util.*;
public class StackDemo {
public static void main(String args[])
{
Stack<String> stack
= new Stack<String>();
stack.add( "Geeks" );
stack.add( "for" );
stack.add( "Geeks" );
stack.add( "10" );
stack.add( "20" );
System.out.println( "Stack:"
+ stack);
System.out.println( "Trying to replace 10th "
+ "element with GFG" );
try {
stack.setElementAt( "GFG" , 10 );
}
catch (Exception e) {
System.out.println(e);
}
}
}
|
Output:
Stack:[Geeks, for, Geeks, 10, 20]
Trying to replace 10th element with GFG
java.lang.ArrayIndexOutOfBoundsException: 10 >= 5