Ajudinha com Array(vetor) java!

4 respostas
jhonk1
Olá, gostaria de saber como faço para saber o numero de elementos que contem o meu array, se existe alguma classe pronta do java ou algo do tipo?

ex:

//criei vetor bidimensional

int vetor[][];

vetor = new int [10][2];

// inseri 4 valores como exemplo aqui

vetor[0][0]=1;

vetor[0][1]=2;

vetor[1][0]=3;

vetor[1][1]=4;

// gostaria de saber como faço para saber o numero de elementos colocados, eu usei o .length, mas ele me dá o tamanho_do_vetor = 10, ele dá o TAMANHO que eu especifiquei.
no caso ai em cima o resultado que estava esperando seria 4 = numero de elementos!

Desde já muito obrigado!

4 Respostas

juno.rr

Acho que não tem nenhuma classe da api padrão que faça isso.

O que você poderia fazer é implementar um método para retornar o tamanho do array.

Algo do tipo:

public int size(int[][] array) {
  if(array == null) return -1;
  int size = 0;
  for(int i = 0; i < array.length; i++) {
    for(int j = 0; j < array[0].length; j++) {
      if(array[i][j] != 0)
        size++;
    }
  }
  return size;
}
InicianteJavaHenriqu

juno.rr:
Acho que não tem nenhuma classe da api padrão que faça isso.

O que você poderia fazer é implementar um método para retornar o tamanho do array.

Algo do tipo:

public int size(int[][] array) { if(array == null) return -1; int size = 0; for(int i = 0; i &lt; array.length; i++) { for(int j = 0; j &lt; array[0].length; j++) { if(array[i][j] != 0) size++; } } return size; }

É uma solução que funciona o problema é que gasta tempo linear. O ideal seria ter está variável size incrementada a cada inserção do array, assim o tempo seria constante.

:thumbup:

guilherme.dio

Solução: [color=blue]java.util.Collections[/color]

jhonk1

Muito obrigado mesmo!!
Deu certo aqui XD

Por enquanto vou deixar igual ao do juno.rr mesmo! Serviu e muito! Sou iniciante no Java XD
Mas valeu pela dica também!

vlw

Criado 11 de agosto de 2012
Ultima resposta 11 de ago. de 2012
Respostas 4
Participantes 4