Salve galera!!
Estou tendo o seguinte problema quando utilizo o Vector, primeiro declarei uma variavel chromosome como Vector:
Vector<Integer> chromosome = new Vector<Integer>();
Em seguida atribuo um valor nesse vector através de um ArrayList:
chromosome = (Vector<Integer>) newPopulation
.getChromosome(i);
Onde, newPopulation eh um ArrayList de Object, portanto quando eu chamo o getChromosome(i), ele me retorna um Object, por isso a necessidade de um casting. Mas o problema vem agora
for (int pos = indexC1 + 1; pos <= indexC1+ subProgram - 1; pos++) {
chromosome.set(pos, auxChromosome.get(posAuxChromo));
posAuxChromo++;
}
Quando dou um set no Vector chromosome, ele atualiza tambem o object que esta no ArrayList onde foi feito a atribuição para o meu chromosome. Não entendo pq ele faz isso, parece que ambos (Vector chromosome e o ArrayList newPopulation) compartilham a mesma posição de memória.
Galera me ajudem se possível!!!
Abraços,
Danilo