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

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • Maschine Tutorials

    Maschine Tut

    15 ŞUBAT 2011
  • SRT Photoshop Tutorials

    SRT Photosho

    19 Aralık 2012