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

  • ibebrent

    ibebrent

    23 Temmuz 2007
  • The Platform

    The Platform

    14 HAZİRAN 2006
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008