java

Frecuencia de palabras en Java – Contar palabras

Hoy vamos a ver un programa para contar la frecuencia de palabras en Java. Es decir, dada una oración, texto o string, contar cuántas veces aparece cada palabra.

Primero vamos a remover el punto, coma, y cosas que no sean palabras usando replaceAll en Java. Luego, vamos a separar la cadena con un delimitador para convertirla a arreglo y tener cada palabra separada.

Finalmente, vamos a usar un mapa de Java o HashMap que nos ayudará a llevar un registro de las palabras que ya hemos encontrado, así como va a permitirnos aumentar el conteo de cada una de ellas.

Preparar cadena para contar frecuencia de palabras en Java

Comencemos viendo cómo vamos a preparar la cadena. En este caso la estoy definiendo en el código pero podría ser leída con la clase Scanner en Java.

Lo que se hace es quitarle signos de puntuación y separarla por espacios para tenerla como arreglo:

See the gist on github.

Ahora que tenemos el arreglo lo vamos a recorrer y contar su frecuencia.

Contando la frecuencia de palabras en Java

La clave o key del mapa en este caso es la palabra, el tipo de dato del mapa es String, Integer; pues la clave será la palabra y el valor será la frecuencia o conteo. Recuerda que ya escribí un tutorial sobre mapas en Java.

En el ciclo que recorre el arreglo vamos a hacer una comparación. Si la palabra ya existe en el mapa, entonces le aumentamos 1 a su conteo.

Si la palabra no existe, la agregamos con un valor inicial de 1. En ambos casos usamos la operación put de los hasmaps.

Quedando así:

See the gist on github.

Al final, imprimimos el mapa recorriéndolo con un foreach y eso mostrará cuántas veces aparece una palabra en el texto.

Poniendo todo junto

El código completo queda así:

See the gist on github.

Puedes ejecutarlo online en este enlace. La salida es como se ve en la imagen, contando la frecuencia de cada palabra:

Frecuencia de palabras en Java

Recuerda que podrías combinar las palabras mayúsculas y minúsculas convirtiéndolas primero a una sola notación.

Te invito a ver más sobre Java en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

1 día hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

1 día hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

2 días hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

2 días hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

6 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

6 días hace

Esta web usa cookies.