El Framework de Colecciones en Java proporciona clases e interfaces para trabajar con colecciones de objetos de manera más eficiente.
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class FrameworkColecciones {
public static void main(String[] args) {
// Crear una lista
List lista = new ArrayList<>();
lista.add("Manzana");
lista.add("Banana");
lista.add("Naranja");
// Crear un mapa
Map mapa = new HashMap<>();
mapa.put(1, "Rojo");
mapa.put(2, "Verde");
mapa.put(3, "Azul");
// Iterar sobre la lista
System.out.println("Elementos de la lista:");
for (String elemento : lista) {
System.out.println(elemento);
}
// Iterar sobre el mapa
System.out.println("\nElementos del mapa:");
for (Map.Entry entry : mapa.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
En Java, List
, Set
y Map
son interfaces del Framework de Colecciones que proporcionan diferentes formas de almacenar y manipular conjuntos de elementos.
List
es una colección ordenada que permite elementos duplicados.ArrayList
y LinkedList
.
import java.util.ArrayList;
import java.util.List;
public class ListaEjemplo {
public static void main(String[] args) {
// Crear una lista
List lista = new ArrayList<>();
// Agregar elementos a la lista
lista.add("Manzana");
lista.add("Banana");
lista.add("Naranja");
// Acceder a elementos por índice
String primeraFruta = lista.get(0);
System.out.println("Primera fruta: " + primeraFruta);
// Iterar sobre la lista
for (String fruta : lista) {
System.out.println(fruta);
}
}
}
Set
es una colección que no permite elementos duplicados.HashSet
y TreeSet
.
import java.util.HashSet;
import java.util.Set;
public class SetEjemplo {
public static void main(String[] args) {
// Crear un set
Set set = new HashSet<>();
// Agregar elementos al set
set.add("Rojo");
set.add("Verde");
set.add("Azul");
set.add("Rojo"); // Duplicado
// Iterar sobre el set
for (String color : set) {
System.out.println(color);
}
}
}
Map
es una colección de pares clave-valor donde cada clave es única.HashMap
y TreeMap
.
import java.util.HashMap;
import java.util.Map;
public class MapaEjemplo {
public static void main(String[] args) {
// Crear un mapa
Map mapa = new HashMap<>();
// Agregar elementos al mapa
mapa.put("Uno", 1);
mapa.put("Dos", 2);
mapa.put("Tres", 3);
// Acceder a un valor por clave
int valor = mapa.get("Dos");
System.out.println("Valor de 'Dos': " + valor);
// Iterar sobre las entradas del mapa
for (Map.Entry entry : mapa.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
Los generics en Java te permiten crear clases, interfaces y métodos que pueden trabajar con diferentes tipos de datos de manera segura y sin necesidad de hacer casting.
import java.util.ArrayList;
import java.util.List;
public class GenericsEjemplo {
public static void main(String[] args) {
// Uso de generics con ArrayList
List listaString = new ArrayList<>();
listaString.add("Hola");
listaString.add("Mundo");
List listaEnteros = new ArrayList<>();
listaEnteros.add(1);
listaEnteros.add(2);
// Uso de generics con métodos
String resultadoString = obtenerPrimerElemento(listaString);
Integer resultadoEntero = obtenerPrimerElemento(listaEnteros);
System.out.println("Primer elemento de listaString: " + resultadoString);
System.out.println("Primer elemento de listaEnteros: " + resultadoEntero);
}
// Método genérico que devuelve el primer elemento de una lista
public static T obtenerPrimerElemento(List lista) {
return lista.get(0);
}
}
En este ejemplo:
ArrayList
que almacena cadenas de texto y otra que almacena enteros.obtenerPrimerElemento()
que puede trabajar con cualquier tipo de lista.