Como pegar tamanho de uma matriz

10 respostas
A

Olá,

gostaria de saber como pegar o tamanho de uma matriz.

tentei um:

matriz.length

mas apenas me retornou 2.

A minha matriz está definida assim:

String [][]matriz = new String[][] {vetorAtividades,vetorDados};

abs…

10 Respostas

E

Se sua matriz for retangular ou quadrada, use:

matriz[0].length

(isso se a primeira dimensão for maior que zero).

A

cara, tentei isso, mas retornou 100…

E

Isso quer dizer que a dimensão de vetorAtividades é 100. Não é isso que você quer?

A

NÃO É BEM ISSO:

mas descobri o q aconteceu
é que inicializei os vetores assim:

String[] vetorAtividades = new String[10]; String[] vetorDados = new String[100];

o problema está em como deixar isso dinâmico… vou tentar usar um ArrayList ou coisa parecida…

se tiver alguma outra solução, por favor, mande aí…

abs

E

O correto, no seu caso, não é criar um array bidimensional*, e sim um ArrayList de uma classe que contém 2 membros (atividade e dado).

  • Eca
A

é… vou tentar isso…

vlw

E

Dinâmico , somente com ArrayList , pois ele nao tem limite de tamanho e talz , um array normal vc eh obrigado a dizer o tamanho fixo dele .

A

blza… funciono com ArrayList:

public Object[][] getMatriz() {

        ArrayList vetorAtividades = new ArrayList();
        ArrayList vetorDados = new ArrayList();

        ClienteCon cc = new ClienteCon();
        
        for (Atividade a : this.getAtividades()) {
            vetorAtividades.add(a.getDescAtividade());
            vetorDados.add(cc.getQtdProspectsAtividade(String.valueOf(a.getCdAtividade())));
        }

        Object[][] matriz = new Object[][]{(vetorAtividades.toArray()), (vetorDados.toArray())};

        return (matriz);
    }

retorno a matriz certinha…

FLW

E

Que salada, hein? Não abuse de arrays bidimensionais. Era muito mais simples você ter feito o seguinte (estou usando o nome X para a classe mas é óbvio que você pode imaginar um nome melhor:

class X {
   private String atividade;
   private String dado;
   public X (String a, String d) { atividade = a; dado = d; }
   public String getAtividade() { return atividade; }
   public String getDado() { return dado; }
}
...
List<X> getMatriz() {
    List<X> resultado = new ArrayList<X>();

     ClienteCon cc = new ClienteCon();  
       
     for (Atividade a : this.getAtividades()) {  
         resultado.add (new X (a.getDescAtividade(), cc.getQtdProspectsAtividade(String.valueOf(a.getCdAtividade())));
     }    
    return resultado;
}
A

pois étb daria,

mas agora q funciono, vo dexa assim, hehehe

mas valew pela dica!!!

Abração

Criado 28 de setembro de 2009
Ultima resposta 28 de set. de 2009
Respostas 10
Participantes 3