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

  • calicoJake

    calicoJake

    29 EKİM 2007
  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006
  • Peyton

    Peyton

    28 Aralık 2008