Este estudio de caso escribe un programa que cuenta las apariciones de palabras en un texto y muestra las palabras y sus apariciones en orden alfabético. El programa utiliza un TreeMap para almacenar una entrada que consta de una palabra y su recuento. Para cada palabra, verifique si ya es una clave en el mapa. De lo contrario, agregue una entrada al mapa con la palabra como clave y valor 1. De lo contrario, aumente el valor de la palabra (clave) en 1 en el mapa. Supongamos que las palabras no distinguen entre mayúsculas y minúsculas; por ejemplo, Bueno se trata de la misma manera que bueno.
El siguiente código proporciona la solución al problema.
un 2
clase 1
diversión 1
bien 3
tener 3
mañana 1
visita 1
El programa crea un TreeMap (línea 11) para almacenar pares de palabras y su recuento de ocurrencias. Las palabras sirven como claves. Dado que todos los valores del mapa deben almacenarse como objetos, el recuento se incluye en un objeto Entero.
El programa extrae una palabra de un texto usando el método split (línea 13) en la clase String. Para cada palabra extraída, el programa comprueba si ya está almacenada como clave en el mapa (línea 18). De lo contrario, se almacena en el mapa un nuevo par que consta de la palabra y su recuento inicial (1) (línea 19). De lo contrario, el recuento de la palabra se incrementa en 1 (líneas 21 a 23).
El programa obtiene las entradas del mapa en un conjunto (línea 29) y recorre el conjunto para mostrar el recuento y la clave en cada entrada (líneas 32–33).
Dado que el mapa es un mapa de árbol, las entradas se muestran en orden creciente de palabras. También puede mostrarlos en orden ascendente según el recuento de ocurrencias.
Ahora siéntate y piensa cómo escribirías este programa sin usar el mapa. Su nuevo programa sería más largo y complejo. Descubrirá que el mapa es una estructura de datos muy eficiente y poderosa para resolver problemas como este.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3