Hogyne lenne más választásom? Csinálok egy tetszőleges méretű listát tetszőleges típussal, majd amikor készen vagyok, egy defenzív másolatot belőle, ami már olyan méretű, amilyet szeretnék.
És ez utóbbinak már nem kell ArrayListnek lennie, bármilyen List implementáció jó lehet.
Lehet CopyOnWriteArrayList is, ha arra lenne szükség. Vagy LinkedList. Bármi.
Ha pedig tényleg tömbökkel akarok dolgozni, és kell a teljesítmény, akkor System.arraycopy.