Метод set() класса ArrayList в Java

Java ArrayList Java ArrayList

Метод set() используется для замены элемента по указанному индексу в динамическом массиве.

Синтаксис метода set():

arraylist.set(int index, E element)

Примечание:arraylist — это объект класса ArrayList.

Детали параметров:

  • index — позиция индекса
  • element — новый элемент для замены в позиции индекса

Возвращаемое значение

Возвращает элемент, который ранее находился в позиции индекса.

Если значение индекса выходит за пределы допустимого диапазона, выбрасывается исключение IndexOutOfBoundsException.

Пример

Заменить элемент в динамическом массиве:

Пример

import java.util.ArrayList;

class Main {
    public static void main(String[] args){

        // Создать динамический массив
        ArrayList<String> sites = new ArrayList<>();

        sites.add("Google");
        sites.add("Example");
        sites.add("Taobao");
        System.out.println("Список сайтов: " + sites);

            // Элемент по индексу 2 заменён
        String element = sites.set(2, "Wiki");
        System.out.println("После замены: " + sites);
        System.out.println("Заменённый элемент: " + element);
    }
}

Выполнение вышеуказанной программы дает следующий вывод:

替换后: [Google, Example, Wiki]
被替换的元素: Taobao

В приведённом выше примере мы создали массив с именем sites, и метод set() заменил Taobao в позиции индекса 2 на Wiki.

Примечание. Если вы не уверены в значении индекса элемента, можно использовать метод ArrayList indexOf().

Метод ArrayList set() против add()

Синтаксис методов add() и set() выглядит очень похоже.

// add() 的语法 
arraylist.add(int index, E element)
// set() 的语法
arraylist.set(int index, E element)

Оба метода добавляют новый элемент в массив.

Однако между ними есть большая разница:

  • Метод set() обновляет элемент в указанной позиции.
  • Метод add() вставляет элемент в динамический массив по указанной позиции.

Пример

import java.util.ArrayList;

class Main {
    public static void main(String[] args){

        // Создать динамический массив
        ArrayList<String> sites = new ArrayList<>();

        sites.add("Google");
        sites.add("Example");
        sites.add("Taobao");
        System.out.println("Список сайтов: " + sites);

        // Создаем ещё один динамический массив sites2
        ArrayList<String> sites2 = new ArrayList<>();

        // Добавляем элементы sites в sites2
        sites2.addAll(sites);
        System.out.println(ArrayList: " + sites);

        // Использование set()
        sites.set(1, "Wiki");
        System.out.println("ArrayList после использования set(): " + sites);

        // Использование add()
        sites2.add(1, "Wiki");
        System.out.println("ArrayList после использования add(): " + sites2);
    }
}

Выполнение вышеуказанной программы дает следующий вывод:

网站列表: [Google, Example, Taobao]
ArrayList: [Google, Example, Taobao]
ArrayList 使用 set() 后: [Google, Wiki, Taobao]
ArrayList 使用 add() 后: [Google, Wiki, Example, Taobao]

В приведённом выше примере мы создали два динамических массива с именами sites и sites2. Мы использовали метод ArrayList addAll(), чтобы оба динамических массива имели одинаковые элементы.

Метод set() заменяет элемент в позиции с индексом 1.

Метод add() добавляет элемент Wiki в позицию с индексом 1, изменяя индекс элемента Example на 2.

Чтобы узнать больше о добавлении значений, посетитеJava ArrayList add()。

Java ArrayList Java ArrayList

Другие расширения