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

  • KittiesMama

    KittiesMama

    10 AĞUSTOS 2008
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012
  • TheOtherMau5

    TheOtherMau5

    6 Mart 2012