

Java - ArrayList - Lze nastavit maximální počet prvků?
Dobrý den,
Vím, že má ArrayList (oproti klasickému poli) dynamickou velikost, ale přesto se chci zeptat.
Je, prosím Vás, možné, u ArrayListu, nastavit maximální počet prvků?
Děkuji
Určitě je to možné. Stačí ti k tomu znát magickou syntaxi.
Tento kus kódu je fool-proof. Dokonce to má i kontrolu na to, že nemůžeš získat prvek s indexem větším (nebo menším) než je velikost pole - 1, jinak skončíš u IndexOutOfBoundsException
ještě jako bonus k tomu dostaneš škálovatelnost. Člověk by nevěřil co všechno se dá s pouhým polem dokázat. Doslova všechno. K tvému štěstí je Java OOP a vytvoření třídy s privátní vlastností, která bude reprezentovat třeba (tohle je úplně OT - nemá to žádnou souvislost s tim na co se ptáš) index posledního prvku v poli o pevné velikosti, není vůbec složité. O nějakých metodách se snad ani nemá cenu zmiňovat 
Len pre zaujímavosť, čo máš na mysli pod škálovateľnosťou v tomto prípade?
Špatně jsem to použil. Myslel jsem tím, že za pomocí polí se dají vytvářet složitější třídy, např. zde zmiňované ArrayListy.
Přesně tohle jsem zmínil v zadání. Ty mluvíš o klasickém poli. A tam je pochopitelné, že je statická velikost.
Snažil jsem se tě donutit se zamyslet. Dokonce jsem ti tam i přidal návod na implementaci řešení. Kolekce s pevně danou maximální velikostí je v podstatě definice pole.
LinkedList je tzv. "spojitý seznam" a každý prvek udržuje referenci na ten další, příp. i na ten předchozí. Pokud použiješ přetížení konstruktoru array listu, kam předáš nějaké pole, tak tim nevytvořiš list o maximální velikosti toho pole.
V Javě se používá ArrayList a LinkedList. Jak již název napovídá, tak ArrayList je implementován pomocí klasického pole
No, uzavřel bych to s tím, že mě jenom zajímalo, jestli je to možné, ale lze to nastavit pouze u klasického pole.
V podstatě, u pole je to nutnost. U ArrayListu je pouze možné zadat, s jakým počtem prvků se inicializuje. (normálně je to 0)
I když, přesto bych se chtěl zeptat. Jaký je rozdíl mezi
a
Pokud následně přidáš 100 objektů, tak je výsledek stejný.
K čemu je teda inicializace dobrá?
Díky
https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
Jedná se o prvotní velikost pole, ve kterém se elementy ukládají.
OK. Díky