Dados duplicados no Vector?

6 respostas
arm.jr

E o seguinte , queria saber se tem algum método que elimina os dados repetidos de um Vector().

Tipo tenho no vetor varios dados repetidos

VECTOR => [DADO1,DADO2,DADO1,DADO1,DADO2,DADO2]

Queria que ficasse assim = [DADO1,DADO2].

Tem algum médoto do Vector() que faz isso ou tem que ralar usando um for mesmo ? Alguem pode me ajudar?!!

6 Respostas

rodrigo_gomes

creio que vai ter que fazer na mão mesmo :smiley:

kuchma

Voce pode jogar criar um Set com o Vector, obtendo esse efeito, nao?

Marcio Kuchma

Rafael_Steil

Ao que parece, nao ha nenhuma razao para voe estar usando um Vector… Portanto, passe a usar um ArrayList.

De qualquer maneira, tanto Vector quando as outras implesmentacoes de List contem um metodo chamado removeAll(), que recebe uma collection. Isso deve rsolver.

Caso nao queira permitir elementos duplicacos, faca como o kuchma sugeriu: Use um Set

Rafael

kina

Rafael Steil:
Ao que parece, nao ha nenhuma razao para voe estar usando um Vector… Portanto, passe a usar um ArrayList.

De qualquer maneira, tanto Vector quando as outras implesmentacoes de List contem um metodo chamado removeAll(), que recebe uma collection. Isso deve rsolver.

Caso nao queira permitir elementos duplicacos, faca como o kuchma sugeriu: Use um Set

Rafael

Pq usar um ArrayList? Sendo que o Set já tem uma implementação que não permite dados repitidos? :?:

T

Exemplo simples.

import java.util.*;

class TestVectorSet {
    public static void main(String[] args) {
        String[] dados = {"DADO1","DADO2","DADO1","DADO1","DADO2","DADO2"};
        Set dadosNaoRepetidos = new TreeSet (Arrays.asList (dados));
        System.out.println (dadosNaoRepetidos);
    }
}

Ele imprime:

[DADO1, DADO2]

ranophoenix
Pq usar um ArrayList? Sendo que o Set  tem uma implementação que não permite dados repitidos?

Acho q ele falou no sentido q vc não precisando de sincronização e precisando ainda de uma estrutura de vetor o ArrayList é uma solução melhor.

Criado 4 de junho de 2005
Ultima resposta 6 de jun. de 2005
Respostas 6
Participantes 7