Proste tablice w Javie nie oferują żadnej metody aktualizacji lub wymiany elementu. Niemniej jednak w ArrayList zamiana jest całkiem wygodna do zaimplementowania przy użyciu metody set .
Nagłówek metody
arrayList.set(int index, dataType arrayListElement);
Parametry
Metoda przyjmuje 2 parametry.-
int index — Pierwszy to indeks elementu w ArrayList .
-
dataType arrayListElement — Drugi parametr to dane , które mają zostać zastąpione w określonym indeksie.
Typ zwrotu
Metoda zwraca ten sam element ArrayList , który właśnie został zastąpiony.Przykład 1 — Zastąp element za pomocą metody set().
import java.util.ArrayList;
import java.util.List;
public class DriverClass {
public static void main(String[] args) {
List <String> weekDays = new ArrayList<>();
weekDays.add("Monday");
weekDays.add("Monday");
weekDays.add("Wednesday");
weekDays.add("Thursday");
weekDays.add("Friday");
weekDays.add("Saturday");
weekDays.add("Sunday");
System.out.println("Week Days (original) : " + weekDays + "\n");
String replacingText = "Tuesday";
String replacedText = weekDays.set(1, replacingText);
System.out.println("Replacing Text: " + replacingText);
System.out.println("Replaced Text: " + replacedText + "\n");
System.out.println("Week Days (updated) : " + weekDays);
}
}
Wyjście
Dni tygodnia (oryginał): [poniedziałek, poniedziałek, środa, czwartek, piątek, sobota, niedziela]
Tekst zastępujący: wtorek
Zastąpiony tekst: poniedziałek
Dni tygodnia (zaktualizowane): [poniedziałek, wtorek, środa, czwartek, piątek, sobota, niedziela]
Wyjaśnienie
W powyższym fragmencie dni tygodnia są oryginalnie dodawane do listy tablicowej. Jednak poniedziałek jest dodawany dwukrotnie, a brakuje wtorku. Więc zastępujemy go we wtorek przy pierwszym indeksie. Odbywa się to za pomocą metody set() . Gdzie przekazywany jest indeks „1” i zastępujący tekst np. „wtorek”. Później wydrukujemy ArrayList na konsoli, aby zobaczyć aktualizacje.Przykład 2
import java.util.ArrayList;
import java.util.List;
public class DriverClass1 {
public static void main(String[] args) {
List<Integer> dieRoll = new ArrayList<>();
dieRoll.add(0);
dieRoll.add(1);
dieRoll.add(2);
dieRoll.add(3);
dieRoll.add(4);
dieRoll.add(5);
System.out.println("Die Roll (original) : " + dieRoll + "\n");
dieRoll.set(0, 1);
dieRoll.set(1, 2);
dieRoll.set(2, 3);
dieRoll.set(3, 4);
dieRoll.set(4, 5);
dieRoll.set(5, 6);
System.out.println("Die Roll (updated) : " + dieRoll);
}
}
Wyjście
Rzut kostką (oryginalny): [0, 1, 2, 3, 4, 5]
Rzut kostką (zaktualizowany): [1, 2, 3, 4, 5, 6]