Bom Dia pessoal,
Pode ser uma pergunta idiota, mas como que eu consigo obter a quantidade de valores que eu tenho em um Array?
Tipo se o array é de 20 e foi adicionado 9 valores, porem eu não sei quantos foram, pois eu puxei estes valores do meu banco.
Como eu faço pra saber que tem 9 valores lá dentro ?
Não acho que seja uma boa pratica trabalhar com Array (simples) com banco de dados. O fato de conter objetos nulos em um array é uma pratica ruim. Existem outros tipo de coleções que são mais indicados para isso, como o ArrayList.
Mas, se for obrigado a ter um array, vc pode fazer uma verificação mais ou menos assim:
[code]
int[] arr = new int[10];
int contador = 0;
for (int i = 0; i < arr.length; i++){
if(arr[i]==null){
contador++;
}
}[/code]
Olá eduardomelo, não sei se seria exatamente isso que você está procurando, mas uma alternativa é você fazer um for que pegue somente as posições dos arrays que o valor for diferente de zero, ou seja, que estão preenchidos…
Segue um exemplo
[code]
int total = 0; // Numero de posições preenchidas
for(int i=0;i<=array.length-1;i++){
if(!(array[i]==0)){
total++;
}
Uma das vantagens do ArrayList é exatamente o fato de não precisar inicilizar o tamanho do array. Dessa forma não existira, a não ser que queira, valores nulos no array.
[quote=pvrsouza]Não acho que seja uma boa pratica trabalhar com Array (simples) com banco de dados. O fato de conter objetos nulos em um array é uma pratica ruim. Existem outros tipo de coleções que são mais indicados para isso, como o ArrayList.
Mas, se for obrigado a ter um array, vc pode fazer uma verificação mais ou menos assim:
[code]
int[] arr = new int[10];
int contador = 0;
for (int i = 0; i < arr.length; i++){
if(arr[i]==null){
contador++;
}
}[/code]
Abraços[/quote]
Isso ai nunca vai dar retornar true, aliás nem compila, os indices sao inicializados com os valores padrões, nesse caso 0.
[quote=evertonsilvagomesjava][quote=pvrsouza]Não acho que seja uma boa pratica trabalhar com Array (simples) com banco de dados. O fato de conter objetos nulos em um array é uma pratica ruim. Existem outros tipo de coleções que são mais indicados para isso, como o ArrayList.
Mas, se for obrigado a ter um array, vc pode fazer uma verificação mais ou menos assim:
[code]
int[] arr = new int[10];
int contador = 0;
for (int i = 0; i < arr.length; i++){
if(arr[i]==null){
contador++;
}
}[/code]
Abraços[/quote]
Isso ai nunca vai dar retornar true, aliás nem compila, os indices sao inicializados com os valores padrões, nesse caso 0.
Logo 0 == null, nao funciona.
[/quote]
Verdade! Fail! Rsrs. Culpa do Notepad que não acusou o erro! Rsrs