Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/05/2015, 02:39
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: ¿cuenta el add(null) como elemento contable?

Cita:
ArrayList<String> a=null;
a.add(null)
System.out.println("\n tamano test 1"+ a.size());

En este caso el valor con el que se inicializa (null) es sustituido por el primer valor que le añades. Y a.size()=1 en vez de 2.
En este caso lo que tienes es un NullPointerException.

Del resto, creo que te montas una caco importante con las inicializaciones

Cita:
Int valor;
valor=0;
Es distinto a:
int valor=0;

Y la diferencia es que en un caso la variable ha sido inicializada y en el otro caso no.
No hay ninguna diferencia.

Sobre la pregunta que abre el hilo,

un ArrayList es un array dinámico, y cuando se crea se le da un "tamaño" que irá variando según el array se va llenando, por lo que siempre hay posiciones vacías en un ArrayList.

Lo que te extraña del comportamiento, es que tienes que diferenciar entre capacidad y tamaño de un ArrayList, la capacidad es ese "tamaño" con el que se crea y que va aumentando, el tamaño es el número de elementos que contiene.

¿Cómo sabe su tamaño? Empieza en 0 y cada vez que haces un add suma uno y con un remove resta uno, por lo que cuanto haces add(null) estás sumando uno, ya que no diferencia si el elemento es null o no.

Hay que tener en cuenta que un List es dinámico, por lo que su prioridad no es acceder a una posición en concreto, tanto con add(indice,elemento) y con remove(indice) todos los índices posteriores se modifican.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.