Método para remoção de String

7 respostas
H

Existe algum método para remover strings que são repetidas dentro de um vector??

Valeu!

7 Respostas

H

vPal eh um vetor de palavras, porque este algoritmo remove mais palavras do que o devido??? Alguem sabe me dizer???

Obrigado!!!

public void removeVPal()
		{
			for (int i =0; i<vPal.size();i++)
			{
				
				String str = new String();
				str =(String) vPal.get(i);
				for (int j =vPal.size()-1; j>0;j--)
				{
					String str1 = new String();
					str1 =(String) vPal.get(j);
					if(str == str1)
					{
						vPal.remove(
					}
					
				}
				
			}
		}
ramilani12

Seu problema está aqui(prq todos se confundem ao comparar conteudo de String):

if(str == str1)
 					{
 						vPal.remove(..);
 					}

Com essa comparação vc está verificando se a referencia de str == str1 e na verdade vc que comparar se as String são equivalentes então utilize o metodo equals()

if(str.equals( str1))
 					{
 						vPal.remove(..);
 					}
KWill

Se você está procurando formas de impedir repetição de valores numa Collection, por que você não usa alguma implementação de Set como HashSet em vez de Vector?

Inté.

H

Se eu usa-se SET ou HASHSET como ficaria??? nunca implementei usando isto…

Valeu.

Deh

Que nem o Vector :stuck_out_tongue_winking_eye:

Set<String> s = new HashSet<String>();

a Interface Set não admite duplicações, então é só declarar e adicionar as Strings que você quer

o seu método “add”

boolean add(E o);

retorna false se já possuir algum elemento identico no seu set.

é só =]

Jair_Rillo_Junior

halls:
Se eu usa-se SET ou HASHSET como ficaria??? nunca implementei usando isto…

Valeu.

Igual qualquer Collections.

http://blog.caelum.com.br/2006/10/04/performance-hashset-em-vez-de-arraylist/

seufagner

Sempre quando tiver esse tipo de dúvida, pesquisa na API da versão da JDK correspondente à que você está utilizando para compilar suas classes.

Se existir “algum método” para “alguma coisa” ele vai estar lá!

http://java.sun.com/j2se/1.4.2/docs/api/java/util/Vector.html#remove(java.lang.Object)

[]s

Criado 15 de maio de 2007
Ultima resposta 15 de mai. de 2007
Respostas 7
Participantes 6