ArrayList-Ersetzungselement, wenn es an einem bestimmten Index vorhanden ist?

82

Wie ersetze ich ein Element, wenn es in einer ArrayList an einem bestimmten Index vorhanden ist?

Harinder
quelle

Antworten:

179
  arrayList.set(index i,String replaceElement);
dev4u
quelle
3
hier ist die Frage selbst - "Element ersetzen, wenn beendet", aber um Fehler zu vermeiden, ist eine
Nullprüfung
Gibt es einen Weg ohne Pass-Index?
Arpit Patel
Mit @ArpitPatel arrayList.add () kann ein neues Element angehängt werden. Sie können nicht angeben, wo in der Array-Liste Sie etwas ohne Index hinzufügen möchten.
Alan
5

Wenn Sie andere Set-Funktionen benötigen, würde ich empfehlen, ArrayList um Ihre eigene Klasse zu erweitern. Auf diese Weise müssen Sie Ihr Verhalten nicht an mehr als einer Stelle definieren.

// You can come up with a more appropriate name
public class SizeGenerousArrayList<E> extends java.util.ArrayList<E> {

    @Override
    public E set(int index, E element) {
        this.ensureCapacity(index+1); // make sure we have room to set at index
        return super.set(index,element); // now go as normal
    }

    // all other methods aren't defined, so they use ArrayList's version by default

}
corsiKa
quelle
2

Ein Element wird überschrieben, wenn es bereits in einem Index vorhanden ist . Dies ist das Standardverhalten: Javadoc .

Oder vermisse ich Ihren Standpunkt völlig?

user183037
quelle
0

Fügen Sie einfach eine Pause nach Ihrer remove () - Anweisung hinzu

Sebastian Altamirano
quelle
Bitte können Sie vollständige Antwort geben, Danke
Prags
0

Verwenden Sie diese Methode einfach in Arraylist

list.set(/*index*/,/*value*/)
yousef
quelle