Como podem ver , este meu array de inteiros tem 40 posições, supomos que utilizei somente 10 posições deste array. Só que meu problema esta em saber quantas posições foram ocupadas,por acaso eu criar um laço quero que somente seja acessado as posições utilizadas.
Quando você cria um array de int com 40 posições, todas as 40 posições estão cheias, e com zeros.
Não há “posições vazias”. A menos que você diga que um valor especial (por exemplo, -1, ou mesmo 0) representa “vazio”.
Normalmente você precisa criar uma variável auxiliar (do tipo “int”) que indique quantas posições estão cheias, ou a partir da qual as posições estão vazias.
Se você tem uma estrutura de dados adequada, você não precisa se preocupar com posições vazias.
Note que mesmo “null” (que é o valor padrão quando se cria um array de Object ou de qualquer outra classe) pode ser significativo para o problema em questão.
Evite usar arrays nesse caso, e prefira ArrayList.
No caso de um ArrayList é possível usar Iterator, mas normalmente não se usa nesse caso (porque o acesso indexado é mais rápido). Use um Iterator se a estrutura assim o requerer (como um LinkedList, ou uma outra collection como um Set ou Map).
Utilize arrayList , ou ao inves de int Use Integer dai da para vc contar quantos objetos sao diferentes de null,
que sera o valor padrão definido para o array.
Se o sei array pode variar o tamanho, e você não tem conhecimento do tamanho no momento de instanciar o array, então opte por uma collection List (arraylist, linkedlist…)…