SORU
15 Mart 2013, Cuma


Neden bir başlangıç kapasitesine sahip bir ArrayList başlar?

ArrayList her zamanki yapıcı

ArrayList<?> list = new ArrayList<>();

Ama aynı zamanda başlangıç kapasitesi için bir parametre ile aşırı bir yapıcısı vardır:

ArrayList<?> list = new ArrayList<>(20);

Neden biz lütfen olarak Ekle biz ne zaman bir başlangıç kapasitesi ile ArrayList Bir oluşturmak için yararlıdır?

CEVAP
15 Mart 2013, Cuma


Eğer ArrayList boyutu ne olacağını önceden biliyorsanız, daha verimli başlangıç kapasitesini belirtmek için. Eğer bunu yapmak istemezsen, iç dizi listesi büyüdükçe tekrar tekrar yeniden olacaktır.

Büyük final listesinde, daha fazla zaman adetle sınırla kaçınarak kaydedin.

Hatta ön ayırma olmadan, ArrayList O(n) toplam zaman için garantili bir arka n elementler ekleme dedi. Diğer bir deyişle, bir öğe ekleyerek sürekli-zaman itfa edilmiş bir işlemdir. Bu 1.5 faktörüyle her tahsisat dizi katlanarak boyutunu artırmak suretiyle, genellikle elde edilir. Bu yaklaşımla, bu işlemlerin toplam 12**.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Huot Media

    Huot Media

    7 Mayıs 2010
  • MagicofRahat

    MagicofRahat

    13 Temmuz 2007
  • My Name Is Jeff

    My Name Is J

    26 ŞUBAT 2008