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

  • jpmkm1

    jpmkm1

    4 NİSAN 2008
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014
  • Wild Academy

    Wild Academy

    8 Aralık 2009