Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created January 15, 2020 01:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/d4b4ec82a28b7edaeb242b615381f356 to your computer and use it in GitHub Desktop.
Save parzibyte/d4b4ec82a28b7edaeb242b615381f356 to your computer and use it in GitHub Desktop.
/*
* Archivo: FrecuenciaDePalabrasEnJava.java
* Clase: FrecuenciaDePalabrasEnJava
* Autor: parzibyte
* Fecha: 1/14/20 1:12 PM
* Visita https://parzibyte.me/blog para más tutoriales sobre Java
*/
import java.util.HashMap;
public class FrecuenciaDePalabrasEnJava {
public static void main(String[] args) {
// La cadena en donde contamos la frecuencia
String texto = "Go es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C. Ha sido desarrollado por Google, y sus diseñadores iniciales son Robert Griesemer, Rob Pike y Ken Thompson. Actualmente está disponible en formato binario para los sistemas operativos Windows, GNU/Linux, FreeBSD y Mac OS X, pudiendo también ser instalado en estos y en otros sistemas con el código fuente. Go es un lenguaje de programación compilado, concurrente, imperativo, estructurado, orientado a objetos y con recolector de basura que de momento está soportado en diferentes tipos de sistemas UNIX, incluidos Linux, FreeBSD, Mac OS X y Plan 9 (puesto que parte del compilador está basado en un trabajo previo sobre el sistema operativo Inferno). Las arquitecturas soportadas son i386, amd64 y ARM.";
// Quitar puntos, comas, etcétera. Ver: https://parzibyte.me/blog/2020/01/14/java-remplazar-cadenas-expresion-regular/
texto = texto.replaceAll("[\\.\\,\\(\\)]", "");
// Separar cada palabra por espacio y convertir a arreglo. Ver: https://parzibyte.me/blog/2019/08/08/java-separar-cadena-convertirla-arreglo/
String[] palabras = texto.split(" ");
// Mapa en donde almacenamos la frecuencia. Ver: https://parzibyte.me/blog/2020/01/07/hashmap-java-tutorial-ejemplos/
HashMap<String, Integer> mapaDeFrecuencias = new HashMap<>();
for (String palabra : palabras) {
if (mapaDeFrecuencias.containsKey(palabra)) {
mapaDeFrecuencias.put(palabra, mapaDeFrecuencias.get(palabra) + 1);
} else {
mapaDeFrecuencias.put(palabra, 1);
}
}
// Imprimir mapa
for (HashMap.Entry<String, Integer> entry : mapaDeFrecuencias.entrySet()) {
System.out.printf("Palabra '%s' con frecuencia %d\n", entry.getKey(), entry.getValue());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment