Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Duda con una linea

Que tal!

Por que en la impresion del oRef, no contabiliza la primer cuenta corriente (cc), acaso la toma como "0" ? ArrayList lista = new ArrayList();

    Cuenta cc = new CuentaCorriente(22, 11);
    lista.add(cc);

    Cuenta cc2 = new CuentaCorriente(22, 22);
    lista.add(cc);  // si añades esta linea,  contabiliza los 4 objetos, si la quitas te contabiliza 3. 
    lista.add(cc);

    for(int i = 0; i < lista.size(); i++) {
        Object oRef = lista.get(i);
        System.out.println(oRef);
    }

    System.out.println("----------");

    for(Object oRef : lista) {
        System.out.println(oRef);
    }

}
2 respuestas

Estás escribiendo dos veces la siguiente linea despues de crear el cc2: lista.add(cc);

Si pones el codigo de esta forma : Cuenta cc2 = new CuentaCorriente(22, 22); lista.add(cc2); Cuenta cc3 = new CuentaCorriente(22, 22); lista.add(cc3);

En el for te dará los 3 objetos de la lista, si lo dices por los indices si, son : (0 , 1 y 2) // cc, cc2,cc3

Estas añadiendo 3 veces la CuentaCorriente cc, por lo que al imprimir oRef se imprimirá 3 veces cc, que estan ubicadas en los indices 0, 1 y 2 de tu ArrayList.