Created
January 15, 2020 01:44
-
-
Save parzibyte/d4b4ec82a28b7edaeb242b615381f356 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 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