So ersetzen Sie den vorhandenen Wert des ArrayList-Elements in Java [duplicate]

Lesezeit: 2 Minuten

Benutzer-Avatar
Kani

Ich bin noch ziemlich neu in der Java-Programmierung und versuche, einen vorhandenen Wert von an zu aktualisieren ArrayList indem Sie diesen Code verwenden:

public static void main(String[] args) {

    List<String> list = new ArrayList<String>();

    list.add( "Zero" );
    list.add( "One" );
    list.add( "Two" );
    list.add( "Three" );

    list.add( 2, "New" ); // add at 2nd index

    System.out.println(list);
}

Ich möchte drucken New Anstatt von Two aber ich habe [Zero, One, New, Two, Three] als Ergebnis, und ich habe immer noch Two. Ich möchte drucken [Zero, One, New, Three]. Wie kann ich das machen? Danke.

Verwenden Sie die set Methode, um den alten Wert durch einen neuen zu ersetzen.

list.set( 2, "New" );

Benutzer-Avatar
Sivabalan

Wenn Sie die zu ersetzende Position nicht kennen, verwenden Sie den Listeniterator, um das Element zu finden und zu ersetzen
ListIterator.set(E e)

ListIterator<String> iterator = list.listIterator();
while (iterator.hasNext()) {
     String next = iterator.next();
     if (next.equals("Two")) {
         //Replace element
         iterator.set("New");
     }
 }

Benutzer-Avatar
wackeln

Verwenden ArrayList.set

list.set(2, "New");

  • Was ist, wenn ich den Index des Objekts nicht kenne, aber ich möchte das Objekt an einer bestimmten Stelle durch ein neues ersetzen? Ist es möglich?

    – santhanam

    29. Mai 2017 um 6:57 Uhr

  • @santhanam Sie können list.set(list.indexOf(oldObject), newObject) verwenden;

    – Alberto Alegria

    3. Juni 2017 um 1:07 Uhr

  • @Alberto was wäre, wenn es dasselbe Element wäre, aber aktualisiert?

    – Mohammed Ali

    15. März 2018 um 12:39 Uhr

  • @MohammadAli überschreiben equals -Methode Ihrer Objektklasse und implementieren Sie danach Ihre eigenen Regeln, um zu prüfen, ob Objekte gleich (gleich) sind List.contains(object), List.indexOf(object), object1.equals(object2) wird gut funktionieren

    – Benutzer25

    26. Januar 2019 um 14:41 Uhr


  • @santhanam Beachten Sie, dass indexOf den Index des ersten Vorkommens des Elements zurückgibt

    – Arxakoulini

    16. September 2020 um 10:55 Uhr

Benutzer-Avatar
Thwin Htoo Aung

Sie müssen verwenden

list.remove(indexYouWantToReplace);

Erste.

Ihre Elemente werden so werden. [zero, one, three]

dann füge das hinzu

list.add(indexYouWantedToReplace, newElement)

Ihre Elemente werden so werden. [zero, one, new, three]

1344090cookie-checkSo ersetzen Sie den vorhandenen Wert des ArrayList-Elements in Java [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy