Parentesi, perché ElencoRegali è una classe? Cosa aggiunge ad ArrayList? Nulla...

codice:
ArrayList<Regalo> elencoRegali = new ArrayList<Regalo>();
elencoRegali.add(new Regalo(...));
...
Regalo r = elencoRegali.get(i);
r.setPrezzo(20);
...
ecc