Alguna sugerencia de como mejorar este code me refiero en las lineas de code
ejemplo:
entrada: hola mundo y hola a todos
Salida : hola=2 mundo=1 y=1 a=1 todos=1
Código:
public String contarPalabras2(String palabras ){
StringTokenizer toke = new StringTokenizer(palabras);
String muestra = "";
String dato = "";
String res = "";
int cont=0;
ArrayList<String> array = new ArrayList<String>();
ArrayList<String> copia = new ArrayList<String>();
while(toke.hasMoreTokens()){
array.add(toke.nextToken(" "));
}
for(int z=0; z<=array.size()-1 ; z++){
copia.add(array.get(z));
}
for(int a=0; a<=array.size()-1 ; a++){
muestra=array.get(a);
for(int b=a+1 ; b<=array.size()-1 ; b++){
if(muestra.equals(array.get(b))){
array.remove(b);
}
}
}
//doble recorrido por un error ejemplo hola hola como estas hola hola
for(int a=0; a<=array.size()-1 ; a++){
muestra=array.get(a);
for(int b=a+1 ; b<=array.size()-1 ; b++){
if(muestra.equals(array.get(b))){
array.remove(b);
}
}
}
for(int p=0; p<=array.size()-1 ; p++){
dato=array.get(p);
for(int q=0 ; q<=copia.size()-1 ; q++){
if(dato.equals(copia.get(q))){
cont++;
}
}
res=res+dato+" "+cont+" ";
cont=0;
}
return res;
}
public String concatenar(String palabras){
palabras=contarPalabras2(palabras);
StringTokenizer adaptador= new StringTokenizer(palabras);
ArrayList<String> arreglo= new ArrayList<String>();
ArrayList<String> copia= new ArrayList<String>();
String respuesta=" ";
while(adaptador.hasMoreTokens()){
arreglo.add(adaptador.nextToken(" "));
}
for(int a=0; a<=arreglo.size()-1; a++){
copia.add(arreglo.get(a));
if(a%2==0){
copia.add("=");
}
else{
copia.add(" ");
}
}
for(int b=0;b<=copia.size()-1; b++){
respuesta=respuesta+ copia.get(b);
}
System.out.println(respuesta);
return respuesta;
}
}
Alguna sugerencia de como mejorar este code me refiero en las lineas de code