ArrayList замінює елемент, якщо існує за даним індексом?


82

Як замінити елемент, якщо існує в ArrayList за даним індексом?

Відповіді:


182
  arrayList.set(index i,String replaceElement);

3
тут саме питання - "замінити елемент, якщо виходить", але щоб уникнути помилки, потрібна нульова перевірка
dev4u


чи є в ньому спосіб без індексу пропуску ??
Arpit Patel

@ArpitPatel arrayList.add () можна використовувати для додавання нового елемента. Ви не можете вказати, куди в списку масивів потрібно додати щось без індексу.
Алан,

5

Якщо ви збираєтесь вимагати різних функціональних наборів, я б порадив розширити ArrayList за допомогою власного класу. Таким чином, вам не доведеться визначати свою поведінку більш ніж в одному місці.

// 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

}

2

Елемент перезаписаний, якщо він уже існує в індексі, тобто поведінка за замовчуванням: Javadoc .

Або я повністю втрачаю вашу думку?


0

просто використовуйте цей метод всередині arraylist

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.