importar java.util.ArrayList;
importar java.util.Collections;
importar java.util.HashMap;
importar java.util.List;
importar java.util.Map;
estadísticas de palabras de clase pública {
objeto de clase {
recuento int;
Obj(int recuento){
this.count = contar;
}
}
Lista pública<WordCount> estadísticas (palabra de cadena) {
Lista<WordCount> rs = new ArrayList<WordCount>();
Mapa <String,Obj> mapa = nuevo HashMap<String,Obj>();
si(palabra == nulo) {
devolver nulo;
}
palabra = palabra.toLowerCase();
palabra = palabra.replaceAll("'s", "");
palabra = palabra.replaceAll(",", "");
palabra = palabra.replaceAll("-", "");
palabra = palabra.replaceAll("//.", "");
palabra = palabra.replaceAll("'", "");
palabra = palabra.replaceAll(":", "");
palabra = palabra.replaceAll("!", "");
palabra = palabra.replaceAll("/n", "");
Cadena [] wordArray = palabra.split(" ");
para (Cadena Palabra simple: matriz de palabras) {
Palabra simple = Palabra simple.trim();
if (Palabrasimple!= null &&!Palabrasimple.equalsIgnoreCase("")) {
Obj cnt = map.get(palabrasimple);
si (cnt! = nulo) {
cnt.count++;
}demás {
map.put(palabrasimple, nuevo Obj(1));
}
}
}
for(Clave de cadena: map.keySet()) {
WordCount wd = nuevo WordCount(clave,map.get(clave).count);
rs.add(wd);
}
Colecciones.sort(rs, nuevo java.util.Comparator<WordCount>(){
@Anular
público int comparar (WordCount o1, WordCount o2) {
resultado entero = 0;
si (o1.getCount() > o2.getCount() ) {
resultado = -1;
}si no (o1.getCount() < o2.getCount()) {
resultado = 1;
}demás {
int strRs = o1.getWord().compareToIgnoreCase(o2.getWord());
si ( strRs > 0 ) {
resultado = 1;
}demás {
resultado = -1;
}
}
resultado de devolución;
}
});
devolver rs;
}
público estático vacío principal (String args []) {
String word = "Pinterest podría ser el sueño de los especialistas en marketing; este sitio se utiliza principalmente para seleccionar productos";
Estadísticas de Palabras s = nuevas Estadísticas de Palabras();
Lista<WordCount> rs = s.estadísticas(palabra);
para (WordCount palabra1: rs) {
System.out.println(palabra1.getWord()+"*"+palabra1.getCount());
}
}
}