Ciao, sinceramente non ho capito qual'è la domanda.
In che senso? Cos'è che non ti è chiaro? Non è che possiamo scrivere il codice al posto tuo. Posta quello che hai fatto altrimenti non ti si può aiutare.Ho provato a risolverli ma purtroppo non ne vengo a capo
Posso solo dirti che io avrei scelto un array per rappresentare il garage invece che un ArrayList: hai una capienza del garage prefissata e devi poter avere dei posti vuoti sparsi all'interno di tutto il garage. Volendo lo si può fare anche con un ArrayList ma a mio parere sembra una forzatura (ad esempio per cancellare un elemento non puoi usare il metodo delete perchè ricompatta l'array dopo ogni eliminazione); con un array è più semplice e naturale.
EDIT. @Ansharja non mi ero accorto che avevi risposto già tu :P