Boa Tarde !
Tenho um trabalho sobre conjuntos, no qual tenho que fazer a intercessão, união e subtração de conjuntos.
Ex: A = {2, 3, {6},5} e B = {2,4,{6},{7,2},9}
A U B = {2,3,4,5,{6},{7,2},9}
Bom tive a ideia de utilizar para separar em partes, o médoto StringTokenizer, e armazenar em seguida as partes em matriz, porém estou com dúvida de como comparar cada elemento, já que a união não pega os elementos repetidos, alguém poderia da uma ideia ¿¿¿¿ obrigado…
.equals ???
Um Collection que não aceita repetição. Ex: Set.
- O StringTokenizer não deve ser mais utilizado, conforme diz o próprio javadoc da classe:
http://download.oracle.com/javase/6/docs/api/java/util/StringTokenizer.html
Traduzindo:
- Use a classe Set (como te mostrei em outro tópico). E os métodos addAll (união), retainAll (interseção), removeAll (subtração) e Collections.disjoint (disjunção).
[quote=ViniGodoy]1. O StringTokenizer não deve ser mais utilizado, conforme diz o próprio javadoc da classe:
http://download.oracle.com/javase/6/docs/api/java/util/StringTokenizer.html
Traduzindo:
- Use a classe Set (como te mostrei em outro tópico). E os métodos addAll (união), retainAll (interseção), removeAll (subtração) e Collections.disjoint (disjunção).[/quote]
Realmente muito boa sua dica, inclusive já estou usando, porém ainda tenho que usa a StringTokenizer para separar os elementos do conjunto, pois eu digito esses elementos direto em JTextField, seprando por virugla, justamente para usar a virgula como delimitador e conseguir dividir em partes os elementos …e depois sim utilizo Array List com suas dicas para manipular tais conjuntos…obrigado…vlw ai
E por que você não usa o método split() no lugar do StringTokenizer, como recomenda o próprio Javadoc?
Por exemplo:
[code]String teste = “Vinicius Godoy de Mendonça”;
String palavras[] = teste.split(" ");
for (String palavra : palavras) {
System.out.println(palavra);
}[/code]
Sempre siga as dicas do javadoc. Além de darem recomendações de coisas mais fáceis de usar, as classes velhas tendem a não ser tão otimizadas e nem tão corrigidas quanto as novas.
[quote=ViniGodoy]E por que você não usa o método split() no lugar do StringTokenizer, como recomenda o próprio Javadoc?
Por exemplo:
[code]String teste = “Vinicius Godoy de Mendonça”;
String palavras[] = teste.split(" ");
for (String palavra : palavras) {
System.out.println(palavra);
}[/code]
Sempre siga as dicas do javadoc. Além de darem recomendações de coisas mais fáceis de usar, as classes velhas tendem a não ser tão otimizadas e nem tão corrigidas quanto as novas.[/quote]
Valeu vou testar, é bom que já vou acostumando com esse método já que é o recomendado, pois sempre utilizei o StringTokenizer, parece ser bem simples também… Só uma dúvida esse for compara cada palavra separada ?? não entendi mt bem o uso desse for…
[quote=felipehts][quote=ViniGodoy]E por que você não usa o método split() no lugar do StringTokenizer, como recomenda o próprio Javadoc?
Por exemplo:
[code]String teste = “Vinicius Godoy de Mendonça”;
String palavras[] = teste.split(" ");
for (String palavra : palavras) {
System.out.println(palavra);
}[/code]
Sempre siga as dicas do javadoc. Além de darem recomendações de coisas mais fáceis de usar, as classes velhas tendem a não ser tão otimizadas e nem tão corrigidas quanto as novas.[/quote]
Valeu vou testar, é bom que já vou acostumando com esse método já que é o recomendado, pois sempre utilizei o StringTokenizer, parece ser bem simples também… Só uma dúvida esse for compara cada palavra separada ?? não entendi mt bem o uso desse for…[/quote]
Nossa que vacilo…já entendi…ele pega casa palavra e imprime…vlw ai…jah entendi…eheh
Esse for aqui:
for (String palavra : palavras) {
//faz qualquer coisa
}
É exatamente igual a esse aqui:
for (int i = 0; i < palavras.length; i++) {
String palavra = palavras[i];
//faz qualquer coisa
}
Você lê como "para cada". Para cada palavra na lista de palavras, faça…
[quote=ViniGodoy]Esse for aqui:
for (String palavra : palavras) {
//faz qualquer coisa
}
É exatamente igual a esse aqui:
for (int i = 0; i < palavras.length; i++) {
String palavra = palavras[i];
//faz qualquer coisa
}
Você lê como "para cada". Para cada palavra na lista de palavras, faça…[/quote]
Tava acostumado com o segundo for… mt interessante mesmo…mais uma vez obrigado pelas aulas…foram mt uteis…vlw mesmo… t+