Interfaces del Paquete java.lang
Interfaces
Comparable → implementarlo en aquella clase cuyos objetos nos interese comparar
Runnable → para implementar Hilos (equivalente a heredar de Thread). Método run()
Iterable → para implementar un iterador para una colección concreta. Padre de Collection
Clases del Paquete java.lang
Clases
Boolean/Byte/Integer/Float/Double/Long… → Envoltorios de tipos primitivos
Thread → (representa un hilo de ejecución. Métodos run() y start()
Object → clase raíz de todas. Métodos: toString(), wait(), notify() y equals()
Class → Nos permite dinámicamente consultar los miembros de cualquier objeto (API Reflection)
Iterator → nos permite iterar una colección de forma genérica. Métodos next() y hasNext()
String y StringBuffer/StringBuilder → cadena inmutable vs cadenas variables
System → acceso a la entrada/salida estándar
Clases del Paquete java.io y java.nio.file
Clases
File / Files / FileSystem / Path
Readers / Writers (lectura/escritura de flujos de caracteres)
InputStreams / OutputStreams (lectura/escritura a bajo nivel)
Interfaces del Paquete java.io y java.nio.file
Closeable → implementarlo en los objetos que queramos que java pueda cerrar automáticamente (tiene que ver con el try-catch-with-resources de java1.7). Método close()
Serializable → implementarlo para aquellos objetos que queramos “serializar” (enviarlos por la red, a un sistema de almacenamiento externo)
Interfaces de los paquetes Paquete java.sql y javax.sql (API JDBC)
Driver vs DataSoruce (Pool) → Obtener conexiones a la BBDD
Connection → Conexión abierta con la BBDD
Statement → Sentencia SQL
PreparedStatement → Sentencia SQL que admite parámetros (precompilada)
CallableStatement → Sentencia SQL de tipo “procedure almacenado”
ResultSet → Conjunto de resultados de una SELECT (internamente un cursor)
Interfaces del Paquete java.util
Interfaces
Collection → Raiz de todas las colecciones. Métodos add(e), isEmpty(), size(), remove(e), clear()
List → Secuencia ordenada (permite duplicados). Métodos get(index), add(index,e)
Set → Conjunto de elementos (sin duplicados). Métodos contains(e)
Queue → Conjunto de elementos con un “orden” tipo FIFO. Métodos peek(), poll(), remove()
Map → Conjunto de elementos que funcionan como un Diccionario/Mapa/Array Asociativo, es decir, no se usa un índice para guardar/recuperar sino una “key”. Métodos put(k,e), get(k)
Observer → Para implementar el
Clases del Paquete java.util
ArrayList vs LinkedList (lista enlazada de verdad)
Hashtable (no admite nulos y es Thead-Safe) vs HashMap (lo contrario)
StringTokenizer → Trocear textos en “trocitos” (tokens)
Pattern y Matcher → Búsqueda avanzadas de subcadenas con expresiones regulares
Properties → Leer/Escribir ficheros de propiedades (son ficheros tipos de configuacion con estructura campo=valor)
Calendar → Manejo de fechas
Base64 → Codificar y decodificar info en Base64
UUID → Generar identificadores únicos con el algoritmo UUID
Date → Clase fecha “antigua” (ahora es mejor usar java.time)
Stack → Conjunto de elementos con un “orden” LIFO. Métodos pop(), push(e), peek() , empty().
Hereda de “Vector”
Clases del Paquete java.net
Socket / ServerSocket / URL / Inet4Address / Proxy
Clases del Paquete java.time
Instant / Duration / Period / LocalDate / LocalTime / LocalDateTime
Clases del Paquete java.text
SimpleDateFormat → pasar una fecha de “objeto” a “cadena” y al revés