Problema com Vector

9 respostas
chcl

Galera tenho um Vector de Vectors e preciso percorrer os mesmos e dependendo de uma condição e devo pegar a posicao anterior e carregar um outro vetor e comparar com o primeiro vetor pra entender melhor olha o codigo ai!

clientes é um vector que contem em cada posicao um vetor

Vector recusado = new Vector();

Vector anterior   = new Vector();
for(i=0;i<clientes.size();i++){

recusado.removeAllElements();

recusado = (Vector)clientes.elementAt(i);
if(i&gt;0){
                        anterior.removeAllElements();
                        [b]anterior = (Vector)clientes.elementAt(i-1);[/b]                
                    
                         if(anterior.elementAt(0).toString().equals(recusado.elementAt(0).toString()))
                           acoes...
                    }

}

ai que ta “anterior = (Vector)clientes.elementAt(i-1);” quando tento pegar a posicao anterior nao encontra nada o vector fica vazio! o que to fazendo de errado ai ???
provavelmente deve ser um troço simples e eu to dando mole!

Valeu garrera t+

9 Respostas

cv1

1: Vector da mau halito. Use ArrayList.
2: for(int i=0;i<collection.size();i++) da caries. Use collection.iterator()
3: nao remova elementos quando vc estiver iterando em uma colecao, dah merda :smiley:

louds

“cv”:

3: nao remova elementos quando vc estiver iterando em uma colecao, dah merda :D

Se vc tive utilizando um Iterator para isso, não vejo problemas.

cv1

Ah sim. Me expressei mal. O que eu quis dizer eh que collection.remove(…) da merda, enquanto iterator.remove() eh tranquilo :wink:

chcl

Valeu a dica mais como faria as modificacoes afim de o codigo ter o mesmo efeito utilizando um iterator ??
da pra botar um mini exemplo ai ??

Ja removi os removeAllElements(), mais ainda nao entendi como faria a substituição no codigo por iterator ja que utilzo o contador no codigo como ficaria esse codigo ai! help help!

cv1
List foo = new ArrayList&#40;&#41;;
foo.add&#40;&quot;lero lero&quot;&#41;;
foo.add&#40;&quot;bla bla&quot;&#41;;
foo.add&#40;&quot;oink oink&quot;&#41;;

for&#40;Iterator it = foo.iterator&#40;&#41;; i.hasNext&#40;&#41;;&#41; &#123;
  String elem = &#40;String&#41; it.next&#40;&#41;;
  System.out.println&#40;elem&#41;;
&#125;

Toma ;)

chcl

Bacana mais nao atende o que preciso eu acho olha so por exemplo um chines do que ta rolando aqui!

Vector v = new Vector();

Vector emp = new Vector();

v.add(001);

v.add(empresa1);

v.add(001);

v.add(empresa2);

emp.add(v);
eu tenho um array de dados que preciso verificar se o proximo dado exceto o primeiro é igual ao anterior quer dizer igual a esse array ai acima preciso fazer um teste deste tipo:

Vector corrente = new Vector();

Vector anterior = new Vector();

corrente = emp.elementAt(1);
anterior = emp.elementAt(0);

aqui faria o for para essa iteracao o que preciso que é o valor corrente do array e o valor anterior que estou percorrendo, depois disso o teste:
if(anterior.elementeAt(0).equals(corrente.elemetAt(1)))

é mais ou menos isso ai acima mais resumindo preciso fazer uma especie de recursao!

tenho uma lista de clientes com suas empresas, pego o primeiro cliente em crio um lote pra ele se o proximo cliente a processar for da mesmo empresa do anterior eu jogo esse cara no mesmo lote e nao crio um lote novo pra ele, deu pra sacar mais ou menos ??
como faria isso como o iterator com uma var auxiliar sera que ja conseguia ??

chcl

Putzzz rolo!

Valeu as dica ae funcionou blz agora parece que a pala era eu estava no removeAllElements que realmente da merda valeu ae.

brlima

“chcl”:
Putzzz rolo!

Valeu as dica ae funcionou blz agora parece que a pala era eu estava no removeAllElements que realmente da merda valeu ae.

Eu acho que o que vc queria fazer era v = null; e nao v.removeAllElements&#40;&#41;;

Como v era uma referencia, ele removia todas as linhas e vc perdia todos os dados. Acho que vc queria limpar a referencia para pegar a proxima, nao é ?

chcl

ate que nao pq se eu jogasse o vector pra null perdia o objeto e tinha criar uma instancia novamente eu simplesmente removi o removeAllElementes e continue o restante sobrescrevendo o valor atual do vetor ai funcionou blz!
Esse lance de jogar o vetor pra null é outro troço que da merda viu ja tive um problemao com esse troço aqui a uns tempos atras!

t+

Criado 5 de janeiro de 2004
Ultima resposta 6 de jan. de 2004
Respostas 9
Participantes 4