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

  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • Truc Minh

    Truc Minh

    23 Ocak 2011