Olá amigos,
Gostaria de saber como faço para declarar uma matriz dinamica, pois a quantidade de registros que ela irá armazenar é desconhecida.
Um abraço,
Olá amigos,
Gostaria de saber como faço para declarar uma matriz dinamica, pois a quantidade de registros que ela irá armazenar é desconhecida.
Um abraço,
Mas como vc quer uma estrutura de matriz, vc vai precisar fazer um ArrayList que contenha um ou vários ArrayLists
int linhas = 2;
ArrayList< ArrayList > matriz = new ArrayList< ArrayList>();
for ( int i = 0; i < linhas; i++ ) {
// seu Objeto é a classe que representa o objeto q vc ta armazenando no ARrayList
matriz.add( new ArrayList< SeuObjeto >() );
}
// para acessar
public SeuObjeto getObjeto( ArrayList matriz, int linha, int coluna ) {
return matriz.get( linha ).get( coluna );
}
Falow!
Isso, exatamente o que eu precisava!
Mas como vc quer uma estrutura de matriz, vc vai precisar fazer um ArrayList que contenha um ou vários ArrayListsint linhas = 2; ArrayList< ArrayList > matriz = new ArrayList< ArrayList>(); for ( int i = 0; i < linhas; i++ ) { // seu Objeto é a classe que representa o objeto q vc ta armazenando no ARrayList matriz.add( new ArrayList< SeuObjeto >() ); } // para acessar public SeuObjeto getObjeto( ArrayList matriz, int linha, int coluna ) { return matriz.get( linha ).get( coluna ); }Falow!
Olá amigos,Gostaria de saber como faço para declarar uma matriz dinamica, pois a quantidade de registros que ela irá armazenar é desconhecida.
Um abraço,
Cara queria saber se tu conseguiu fazer essa matriz dinamica??!! Se sim, como q vc fez???!!
Grato
Mas como vc quer uma estrutura de matriz, vc vai precisar fazer um ArrayList que contenha um ou vários ArrayListsint linhas = 2; ArrayList< ArrayList > matriz = new ArrayList< ArrayList>(); for ( int i = 0; i < linhas; i++ ) { // seu Objeto é a classe que representa o objeto q vc ta armazenando no ARrayList matriz.add( new ArrayList< SeuObjeto >() ); } // para acessar public SeuObjeto getObjeto( ArrayList matriz, int linha, int coluna ) { return matriz.get( linha ).get( coluna ); }Falow!
Cara sei que esse post é antigo, mas estou c esse problema e infelizmente não estou conseguindo fazer isso usando essa dica sua. Tipo preciso gerar uma matriz dinamica q a principio possui 50 elementos (individuos), porém ela vai crescer futuramente devido a cruzamentos (Alg Genetico). Peço a ajuda sua e de todos o mais rápido possível. Grato
Pro seu problema, acho que uma List resolve. Conforme for criando filhos, basta adicioná-los à List.
Dependendo da técnica (se os pais sempre forem substituídos, por exemplo), a lista nem precisaria ser dinâmica e poderia usar um simples array. Nesse caso, ao criar os filhos, você os escreveria em cima dos pais. Ex:
//sorteia índices i e j
//pai1 = cromossomos[i]
//pai2 = cromossomo[j]
//cria filho1 e filho2 por meio de pai1 e pai2
//cromossomos[i] = filho1
//cromossomos[j] = filho2
Mas como vc quer uma estrutura de matriz, vc vai precisar fazer um ArrayList que contenha um ou vários ArrayListsint linhas = 2; ArrayList< ArrayList > matriz = new ArrayList< ArrayList>(); for ( int i = 0; i < linhas; i++ ) { // seu Objeto é a classe que representa o objeto q vc ta armazenando no ARrayList matriz.add( new ArrayList< SeuObjeto >() ); } // para acessar public SeuObjeto getObjeto( ArrayList matriz, int linha, int coluna ) { return matriz.get( linha ).get( coluna ); }Falow!
Cara sei que esse post é antigo, mas estou c esse problema e infelizmente não estou conseguindo fazer isso usando essa dica sua. Tipo preciso gerar uma matriz dinamica q a principio possui 50 elementos (individuos), porém ela vai crescer futuramente devido a cruzamentos (Alg Genetico). Peço a ajuda sua e de todos o mais rápido possível. GratoPro seu problema, acho que uma List resolve. Conforme for criando filhos, basta adicioná-los à List.
Dependendo da técnica (se os pais sempre forem substituídos, por exemplo), a lista nem precisaria ser dinâmica e poderia usar um simples array. Nesse caso, ao criar os filhos, você os escreveria em cima dos pais. Ex:
//sorteia índices i e j
//pai1 = cromossomos[i]
//pai2 = cromossomo[j]
//cria filho1 e filho2 por meio de pai1 e pai2
//cromossomos[i] = filho1
//cromossomos[j] = filho2
Você pode usar um ArrayList, e ir adicionando os elementos conforme for conveniente.
Assim ó:
ArrayList list = new ArrayList();
list.add(objeto1);
list.add(objeto2);
Object o = list.get(indice);
E assim por diante.
A maioria das classes que você vai precisar está no pacote java.util.