Метод Stack set () в Java с примером

Опубликовано: 9 Февраля, 2022

Метод set () Java Stack используется для замены любого конкретного элемента в стеке, созданного с помощью класса Stack, другим элементом. Это можно сделать, указав позицию заменяемого элемента и нового элемента в параметре метода set ().

Синтаксис:

общедоступный набор E (индекс int, элемент объекта)

Параметры: эта функция принимает два параметра, как показано в синтаксисе выше и описано ниже.

  • index : имеет целочисленный тип и относится к позиции элемента, который должен быть заменен из стека.
  • element : это новый элемент, которым будет заменен существующий элемент, имеющий тот же тип объекта, что и стек.

Возвращаемое значение: метод возвращает предыдущее значение из стека, которое заменяется новым значением.

Исключение: этот метод вызывает следующие исключения:

  • UnsupportedOperationException : если операция набора не поддерживается этим стеком
  • ClassCastException : если класс указанного элемента предотвращает его добавление в этот стек
  • NullPointerException : если указанный элемент является нулевым, и этот стек не допускает нулевые элементы
  • IllegalArgumentException : если какое-либо свойство указанного элемента препятствует его добавлению в этот стек
  • IndexOutOfBoundsException : если индекс вне допустимого диапазона (index = size ())

Программа ниже иллюстрирует метод Java.util.Stack.set ():

Example 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);
    }
}
Output:
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]

Example 2: To demonstrate 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);
        }
    }
}
Output:
Stack:[Geeks, for, Geeks, 10, 20]
Trying to replace 10th element with GFG
java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 10

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .