Метод set
Метод set класса ArrayList заменяет элемент,
находящийся по указанному индексу, на новый элемент.
В первом параметре мы передаем индекс элемента,
который нужно заменить, а во второй параметр -
новое значение, которое нужно установить.
Метод возвращает элемент, который был заменен.
Стоит отметить, что индекс должен быть в допустимом
диапазоне: от 0 до size - 1, иначе
будет выброшено исключение IndexOutOfBoundsException.
Синтаксис
ArrayList.set(index, element)
Пример
Давайте заменим элемент с индексом 1 на новое
значение и выведем результат:
import java.util.ArrayList;
public class Main
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
String res = list.set(1, "d");
System.out.println(res);
System.out.println(list);
}
}
Результат выполнения кода:
"b"
[a, d, c]
Пример
Давайте заменим последний элемент списка на новое число и выведем полученный список:
import java.util.ArrayList;
public class Main
{
public static void main(String[] args)
{
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
int lastIndex = list.size() - 1;
list.set(lastIndex, 5);
System.out.println(list);
}
}
Результат выполнения кода:
[1, 2, 5]
Пример
Давайте попробуем обратиться к несуществующему индексу и посмотрим, какое исключение будет выброшено:
import java.util.ArrayList;
public class Main
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
try
{
list.set(5, "d");
}
catch (IndexOutOfBoundsException e)
{
System.out.println("Index out of bounds");
}
}
}
Результат выполнения кода:
"Index out of bounds"