Biblioteca estándar de Java: revisión completa
La biblioteca estándar de Java (Java Standard Library) es un conjunto fundamental de paquetes, clases e interfaces que se incluye con cada instalación de JDK (Java Development Kit). Proporciona al desarrollador todo lo necesario para crear aplicaciones: desde trabajar con tipos de datos básicos y colecciones hasta la comunicación en red y el multihilo. Comprender esta biblioteca es la clave para un desarrollo eficiente en Java.
Paquetes principales de la biblioteca estándar
La biblioteca está organizada en paquetes. Veamos los más importantes:
java.lang— paquete importado automáticamente que contiene clases envoltorio (Integer,Double), cadenas (String,StringBuilder), funciones del sistema (System,Math) y excepciones.java.util— colecciones, trabajo con fechas, números aleatorios, utilidades (Arrays,Collections).java.io— flujos de entrada/salida, trabajo con archivos y serialización.java.nio— entrada/salida no bloqueante (New I/O), búferes y canales.java.net— programación en red (sockets, URL, HTTP).java.util.concurrent— multihilo: ejecutores, colas bloqueantes, variables atómicas.java.time(Java 8+) — API moderna para trabajar con fecha y hora (LocalDate,ZonedDateTime).
Paquete java.lang: la base de todo
El paquete java.lang no requiere importación explícita. Incluye la clase Object — la raíz de la jerarquía de todas las clases. Veamos los elementos clave:
// Clase String — cadenas inmutablesString greeting = "¡Hola, Java!";String upper = greeting.toUpperCase(); // "¡HOLA, JAVA!"
// StringBuilder — cadenas mutables (más eficiente que la concatenación en un bucle)StringBuilder sb = new StringBuilder("Hello");sb.append(" World");sb.insert(5, ",");System.out.println(sb.toString()); // "Hello, World"
// Clase Math — operaciones matemáticasdouble pi = Math.PI;double sqrt = Math.sqrt(144); // 12.0int max = Math.max(10, 20); // 20Se debe prestar especial atención a las clases envoltorio (Integer, Boolean, etc.). Permiten usar primitivos en colecciones y proporcionan métodos de conversión:
int primitive = 42;Integer wrapped = Integer.valueOf(primitive); // Autoboxingint back = wrapped.intValue(); // Unboxing
// Analizar una cadena en un númeroint parsed = Integer.parseInt("12345");System.out.println(parsed); // 12345Paquete java.util: colecciones y utilidades
Este es el paquete más extenso. Su núcleo es el Framework de Colecciones (Collections Framework):
- List — listas ordenadas:
ArrayList(acceso rápido por índice),LinkedList(inserción/eliminación rápida). - Set — conjuntos sin duplicados:
HashSet,TreeSet(ordenación). - Map — diccionarios "clave-valor":
HashMap,TreeMap.
import java.util.*;
// Ejemplo de trabajo con HashMapMap<String, Integer> ages = new HashMap<>();ages.put("Alice", 30);ages.put("Bob", 25);ages.put("Charlie", 35);
for (Map.Entry<String, Integer> entry : ages.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue());}
// Ordenar una listaList<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 8, 1));Collections.sort(numbers);System.out.println(numbers); // [1, 3, 5, 8]También en el paquete se encu
También en la biblioteca
Caché en Node.js: Redis, Memcached y memoria integrada
Generación de PDF en Swift (iOS/macOS): resumen de herramientas y ejemplos
gRPC para C# (.NET): bibliotecas, configuración y ejemplos de código
Trabajo con CSV en TypeScript: bibliotecas y ejemplos de código