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 namepublicclassSizeGenerousArrayList<E> extendsjava.util.ArrayList<E> {
@Overridepublic E set(int index, E element){
this.ensureCapacity(index+1); // make sure we have room to set at indexreturnsuper.set(index,element); // now go as normal
}
// all other methods aren't defined, so they use ArrayList's version by default
}
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 }
quelle
Ein Element wird überschrieben, wenn es bereits in einem Index vorhanden ist . Dies ist das Standardverhalten: Javadoc .
Oder vermisse ich Ihren Standpunkt völlig?
quelle
Fügen Sie einfach eine Pause nach Ihrer remove () - Anweisung hinzu
quelle
Verwenden Sie diese Methode einfach in Arraylist
list.set(/*index*/,/*value*/)
quelle