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

  • ADDVOiCE

    ADDVOiCE

    28 Mayıs 2009
  • FUNKER530 - Veteran Community & Combat Footage

    FUNKER530 -

    25 Ocak 2007
  • MugenPowerBatteries

    MugenPowerBa

    8 EKİM 2010