ArrayList, belirli bir dizinde varsa elemanı değiştirilsin mi?


82

Belirli bir dizindeki bir ArrayList'te varsa eleman nasıl değiştirilir?

Yanıtlar:


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

3
burada sorunun kendisi - "çıkarsa elemanı değiştirin", ancak hatayı önlemek için boş kontrol gerekli
dev4u


içinde geçiş indeksi olmadan herhangi bir yol var mı?
Arpit Patel

@ArpitPatel arrayList.add () yeni bir öğe eklemek için kullanılabilir. Dizin listesinde bir şeyi indeks olmadan eklemek istediğiniz yeri belirtemezsiniz.
Alan

5

Farklı küme işlevlerine ihtiyaç duyacaksanız, ArrayList'i kendi sınıfınızla genişletmenizi öneririm. Bu şekilde, davranışınızı birden fazla yerde tanımlamak zorunda kalmayacaksınız.

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

Bir öğenin bir dizinde zaten varsa üzerine yazılır, bu varsayılan davranış: Javadoc .

Yoksa fikrini tamamen mi kaçırıyorum?


0

sadece bu yöntemi arraylist içinde kullanın

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.