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.
V Javě se používá ArrayList a LinkedList. Jak již název napovídá, tak ArrayList je implementován pomocí klasického 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.