Biblioteca Estándar de Java: Visión General Completa
La Biblioteca Estándar de Java (API de Java Standard Edition) es un conjunto potente y extenso de clases e interfaces que proporciona a los desarrolladores soluciones listas para la mayoría de las tareas típicas. Es una parte integral de la plataforma Java y cubre todo: desde tipos de datos básicos y trabajo con colecciones hasta multitarea, entrada/salida e interacción en red. En esta visión general, examinaremos los paquetes clave y sus capacidades.
Paquete java.lang — la base del lenguaje
El paquete java.lang se importa automáticamente. Contiene clases fundamentales sin las cuales es imposible escribir ningún programa en Java.
- Object — la clase raíz de la jerarquía. Todas las clases heredan sus métodos (
equals(),hashCode(),toString()). - String, StringBuilder, StringBuffer — para trabajar con cadenas inmutables y mutables.
- Tipos envoltorio —
Integer,Double,Booleany otros — permiten usar primitivos en colecciones. - System — clase de utilidad para trabajar con la consola (
System.out), propiedades del sistema y arreglos (System.arraycopy()). - Math — proporciona constantes y funciones matemáticas (
Math.sin(),Math.sqrt()).
// Ejemplo de uso de java.langpublic class LangExample { public static void main(String[] args) { String text = "Hello, Java!"; int length = text.length(); // 12 double root = Math.sqrt(25); // 5.0 System.out.println(text.toUpperCase()); // HELLO, JAVA! }}Paquete java.util — colecciones y utilidades
Este es uno de los paquetes más demandados. Incluye el Collections Framework, una arquitectura unificada para almacenar y procesar datos.
Colecciones
- List — lista ordenada (permite duplicados). Implementaciones:
ArrayList,LinkedList. - Set — conjunto de elementos únicos. Implementaciones:
HashSet,TreeSet. - Map — diccionario (clave-valor). Implementaciones:
HashMap,TreeMap. - Queue/Deque — colas para procesamiento de datos (por ejemplo,
PriorityQueue).
import java.util.*;
public class CollectionsExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("Java"); // Se permite duplicado
Set<Integer> set = new HashSet<>(); set.add(10); set.add(20); set.add(10); // El duplicado será ignorado
Map<String, Integer> map = new HashMap<>(); map.put("Alice", 30); map.put("Bob", 25);
System.out.println("List: " + list); System.out.println("Set: " + set); System.out.println("Map: " + map); }}Utilidades
- Collections — métodos estáticos para ordenar, buscar y sincronizar colecciones.
- Arrays — trabajo conveniente con arreglos (
Arrays.sort(),Arrays.asList()). - Date, Calendar — para trabajar con fechas y horas (obsoletos en favor de
java.time). - Random — generación de números pseudoaleatorios.
Paquete java.io — entrada/salida
Este paquete proporciona clases para trabajar con flujos de datos: archivos, consola, conexiones de red. Se basa en el concepto de InputStream/OutputStream para bytes y Reader/Writer para caracteres.
- \