SORU
8 NİSAN 2011, Cuma


Nasıl Java tüm sıfır ile bir ArrayList başlatabilir miyim?

arraylist presizing için işini yapmıyor gibi görünüyor:

// presizing 

ArrayList<Integer>() list = new ArrayList<Integer>(60);

Erişmeye çalıştığımda daha sonra:

list.get(5) 

0 yerine null gösterir. Bir şekilde C yaptığı gibi tam bir boyut 0 için tüm öğeleri başlatmak için var mı?

CEVAP
8 NİSAN 2011, Cuma


Tamsayı kurucu temsil eder, onun için geçtibaşlangıç kapasitesiyani, kendi iç dizi (ve listedeki öğelerin ilk sayısı ile ilgisi yok) yeniden boyutlandırmak gerekiyor önce tutabilir eleman sayısı.

Sen 60 sıfır ile bir liste başlatmak için:

List<Integer> list = new ArrayList<Integer>(Collections.nCopies(60, 0));

60 ile bir liste oluşturmak istiyorsanızfarklınesneleri, aşağıdaki gibi: Supplier bir Dere API kullanabilirsiniz

List<Person> persons = Stream.generate(Person::new)
                             .limit(60)
                             .collect(Collectors.toList());

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bart Baker

    Bart Baker

    1 Aralık 2006
  • SegaAmerica

    SegaAmerica

    5 Mart 2008
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009