Oi pessoassssssss, sou novata em programacao, alguem pode me explicar qual o intuito ou o proposito ou o PQ de usar um size() ou um length em um laco de repetição pra que SERVER size e length? obrigadinha
Boa noite.
size() é um método aplicado em colecões do Java (me parece que ele está especificado na interface Collection). Ou seja, se você tem uma lista, um set ou seja lá o que for e precisa saber quantos elementos ele está armazenando você usa o método size(). Se você não estiver utilizando uma Collection e sim um array e precisar saber a quantidade de elementos do mesmo, use a variável length. Porque eles são usados em iteracões? Para percorrer um array inteiro ou uma colecão inteira você pode fazer um indice iniciando de zero e indo até o último elemento (tamanho - 1). Se você incrementa de um em um você tem acesso a todos os elementos.
Até!
Acho que o wagnerfrancisco explicou muito bem a diferença entre os dois e o propósito também, só achei que um exemplo poderia ajudar a entender um pouco então eu farei isso, ok?
Vamos supor que eu preciso de um método que a partir de um array com valores char me retorne uma String. O método então poderia ser assim:
public String converterParaString(char[] chars){
String resposta = new String("");
for(int i=0;i<chars.length;i++)
resposta += chars[i];
return resposta;
}
Note que eu usei um for que vai de 0 até o tamanho de chars-1 e, que nesse for, a String resposta incrementa o valor da char no índice i em cada repetição e finalmente, o método retorna o resultado. Nesse caso, o length foi necessário para que hajam três garantias:
- TODOS os chars serão percorridos e adicionados à String final.
- Não haverá repetição do mesmo char, A NÃO SER que hajam 2 ou mais chars iguais no array passado como parâmetro
- Não ocorrerá a exceção de null pointer, que ocorre quando você tenta acessar um índice vazio do array
Acho que isso esclarece um pouco melhor a utilidade de size e length.
Espero ter ajudado!