Guava para Java: guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Qué es Guava y para qué sirve?

\n\n

Guava 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 Joiner y Splitter.
  • \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
\n

Si programas en Java y deseas mejorar la calidad y velocidad de desarrollo, Guava es una biblioteca imprescindible.

\n\n

Instalación de Guava

\n\n

Guava 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\n

Instalación mediante Maven (pom.xml)

\n

Agrega el siguiente código en la sección <dependencies> de tu archivo pom.xml:

\n
<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\n

Instalación mediante Gradle (build.gradle)

\n

Agrega en la sección dependencies:

\n
implementation 'com.google.guava:guava:33.2.0-jre'
\n\n

Instalación manual (descargar JAR)

\n

También puedes descargar el archivo JAR desde los lanzamientos de Guava en GitHub y agregarlo al classpath de tu proyecto.

\n\n

Importante: 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).

\n\n

Inicio rápido con un ejemplo de código

\n\n

Escribamos un programa simple que demuestre varias capacidades clave de Guava.

\n\n
import 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                    

Recommendations