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

  • Google Analytics

    Google Analy

    25 ŞUBAT 2008
  • Ludique

    Ludique

    21 NİSAN 2009
  • RawBrahs

    RawBrahs

    28 Aralık 2010