Quanto a alteração na classe TesteArrayList ficou muito confuso, pois primeiramente ele trocou de
ArrayList<Conta> lista = new ArrayList<Conta>();
para
LinkedList<Conta> lista = new LinkedList<Conta>();
e depois trocou para
List<Conta> lista = new ArrayList<Conta>();
Sei que ele falou algo de estar usando uma Interface(ou contrato), mas não está claro isto, parece correu bastante neste assunto