ArrayList zastąpić element, jeśli istnieje w podanym indeksie?

82

Jak zamienić element, jeśli istnieje w ArrayList w danym indeksie?

Harinder
źródło

Odpowiedzi:

182
  arrayList.set(index i,String replaceElement);
dev4u
źródło
3
tutaj samo pytanie brzmi - "zamień element, jeśli wychodzi", ale aby uniknąć błędu, wymagane jest sprawdzenie zerowe
dev4u
czy jest jakiś sposób bez indeksu przebiegu?
Arpit Patel
@ArpitPatel arrayList.add () można użyć do dołączenia nowego elementu. Nie możesz określić, gdzie na liście tablic chcesz coś dodać bez indeksu.
Alan
5

Jeśli zamierzasz wymagać innych funkcji zestawu, radziłbym rozszerzyć ArrayList o własną klasę. W ten sposób nie będziesz musiał definiować swojego zachowania w więcej niż jednym miejscu.

// 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
źródło
2

Element jest nadpisywany, jeśli już istnieje w indeksie, jest to zachowanie domyślne: Javadoc .

A może kompletnie nie rozumiem?

user183037
źródło
0

po prostu użyj tej metody wewnątrz arraylist

list.set(/*index*/,/*value*/)
yousef
źródło
-1

Po prostu dodaj przerwę po instrukcji remove ()

Sebastian Altamirano
źródło
Proszę, czy możesz udzielić pełnej odpowiedzi. Dzięki
Prags