Borrar elementos repetidos de un Vector

Zuri
09 de Enero del 2008
Hola, tengo una aplicación que agrega Strings a un Vector y quiero eliminar los elementos repetidos de este.

Ya intenté con el siguiente fragmento de código:

if(!v.contains(str))
v.add(str);

pero no funciona, aun agrega todos los Strings. Cualquier ayuda será muy apreciada. Gracias.

~Zuri~

Heihachi
09 de Enero del 2008
Ese trozo de código debería funcionar, a no ser que estés utilizando alguna subclase de String que sobreescriba incorrectamente el método equals.

De todos modos si lo que quieres es una colección sin elementos repetidos lo mejor es que uses TreeSet o HashSet (o alguna otra implementación de Set) que ya se ocupan por ti de las repeticiones.

TreeSet además te mantiene la lista ordenada.

LinkedHashSet creo que recuerda el orden en que se han insertado los elementos.

Saludos!

seba
09 de Enero del 2008
solo una aclaración String es inmutables osea una clase Final, no se puede hacer una "subclase"