While Apex Array notation seems the same as Java Array notation, they are internally different. Apex Arrays can be dynamically resized, while Java Arrays cannot be dynamically resized.
//Array notation
Account[] accounts = new Account[] {acc1,acc2,acc3};
//List notation
List<Account> accounts = new List<Accounts>;
accounts.add(acc1);
accounts.add(acc2);
accounts.add(acc3);