¿Qué es Guava y para qué sirve?
\n\nGuava es una potente biblioteca de código abierto de Google que proporciona un conjunto de utilidades de alta calidad para el lenguaje Java. Está diseñada para hacer que el código Java sea más conciso, confiable y eficiente, resolviendo muchas tareas típicas que enfrentan los desarrolladores.
\n\n¿Para qué sirve Guava? La biblioteca estándar de Java (JDK) proporciona funcionalidad básica, pero a menudo deja que desear en términos de comodidad y seguridad. Guava llena estos vacíos ofreciendo:
\n- \n
- Simplificación del trabajo con colecciones: Creación de colecciones inmutables, filtrado, transformación, agrupación: todo esto se vuelve mucho más fácil. \n
- Caché: Un framework potente y flexible para almacenar datos en caché en memoria. \n
- Manejo de primitivos: Utilidades para trabajar con arreglos de tipos primitivos (int, long, double, etc.). \n
- Operaciones con cadenas: Clases convenientes para trabajar con cadenas, como
JoinerySplitter. \n - Trabajo con funciones y predicados: Estilo de programación funcional (aunque no tan conciso como en Java 8+, pero aún útil). \n
- Verificación de precondiciones (Preconditions): Un reemplazo elegante para las comprobaciones manuales de null y otras condiciones. \n
- Trabajo con hashing: Utilidades para crear funciones hash. \n
- Hilos y concurrencia: Utilidades para trabajar con multihilo, incluyendo
ListenableFuture. \n
Si programas en Java y deseas mejorar la calidad y velocidad de desarrollo, Guava es una biblioteca imprescindible.
\n\nInstalación de Guava
\n\nGuava no se instala a través de pip o npm, ya que es una biblioteca para Java. Se distribuye a través de sistemas de gestión de dependencias como Maven o Gradle.
\n\nInstalación mediante Maven (pom.xml)
\nAgrega el siguiente código en la sección <dependencies> de tu archivo pom.xml:
<dependency>\n <groupId>com.google.guava</groupId>\n <artifactId>guava</artifactId>\n <version>33.2.0-jre</version> <!-- Usa la última versión -->\n</dependency>\n\nInstalación mediante Gradle (build.gradle)
\nAgrega en la sección dependencies:
implementation 'com.google.guava:guava:33.2.0-jre'\n\nInstalación manual (descargar JAR)
\nTambién puedes descargar el archivo JAR desde los lanzamientos de Guava en GitHub y agregarlo al classpath de tu proyecto.
\n\nImportante: La versión 33.2.0-jre está diseñada para Java 8 y superiores. Para versiones anteriores de Java, usa la versión android (por ejemplo, 33.2.0-android).
Inicio rápido con un ejemplo de código
\n\nEscribamos un programa simple que demuestre varias capacidades clave de Guava.
\n\nimport com.google.common.base.Joiner;\nimport com.google.common.base.Splitter;\nimport com.google.common.collect.ImmutableList;\nimport com.google.common.collect.Lists;\n\nimport java.util.List;\n\npublic class GuavaQuickStart {\n public static void main(String[] args) {\n // 1. Creación de una lista inmutable\n ImmutableList<String> names = ImmutableList.of("Alice", "Bob", "Charlie");\n System.out.println("Nombres: " + names); // [Alice, Bob, Charlie]\n\n // 2. Unión de cadenas con Joiner\n String joined = Joiner.on(", ").join(names);\n System.out.println("Nombres unidos: " + joined); // Alice, Bob, Charlie\n\n // 3. División de una cadena con Splitter\n String csv = "apple,banana,,grape";\n Iterable<String> fruits = Splitter.on(",")\n .trimResults()\n