Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/07/2015, 04:55
Avatar de Tipdar
Tipdar
 
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 19 años, 1 mes
Puntos: 7
Respuesta: Contar palabra más repetida

Hola amigos del foro, he aquí os dejo otra opción:

Código PHP:
Map<StringIntegermapa = new HashMap<>();

for (
String string palabras) {
    
string string.toLowerCase();
    if (!
mapa.containsKey(string))
        
mapa.put(string, new Integer(1));
    else
        
mapa.put(string, new Integer(mapa.get(string).intValue() + 1));

Este código te pondrá dentro del mapa la cantidad de veces que se repite cada palabra.

Ya si quieres ordenarlo hay un método muy genérico para ordenar mapas que aquí dejo, con permiso de quien lo pensó e implemento, ante quien me quito el sombrero:

Código PHP:
public static <K extends Comparable<?>, extends ComparableMap<KVsortByValues(Map<KVmap) {
    List<
Map.Entry<KV>> entries = new LinkedList<Map.Entry<KV>>(
                
map.entrySet());
    
Collections.sort(entries, new Comparator<Map.Entry<KV>>() {
        public 
int compare(Entry<KVo1Entry<KVo2) {
            return 
o1.getValue().compareTo(o2.getValue());
        }
    });
    
Map<KVsortedMap = new LinkedHashMap<KV>();
    for (
Map.Entry<KVentry entries)
        
sortedMap.put(entry.getKey(), entry.getValue());
    return 
sortedMap;
}
Luego solo quedaría:

Código PHP:
mapa sortByValues(mapa); 
Y listo, mapa ordenado.

Es un pelín más complejo que el algoritmo de carlitosmiranda, pero es otra opción.

Espero te sirva.
Espero te sirva.
__________________
El último TipdaR