Manejo de Colecciones en Java
Listas, Conjuntos, Mapas
Java proporciona varias interfaces y clases para trabajar con colecciones de datos. Las listas, conjuntos y mapas son algunas de las más comunes:
Listas
Las listas son colecciones ordenadas que permiten duplicados. Un ejemplo es la interfaz List
y su implementación ArrayList
:
import java.util.ArrayList;
import java.util.List;
public class ManejoListas {
public static void main(String[] args) {
// Creación de una lista
List nombres = new ArrayList<>();
// Agregar elementos a la lista
nombres.add("Juan");
nombres.add("María");
nombres.add("Carlos");
// Acceder a elementos por índice
String primerNombre = nombres.get(0);
System.out.println("Primer nombre: " + primerNombre);
// Iterar sobre la lista
for (String nombre : nombres) {
System.out.println(nombre);
}
}
}
Conjuntos
Los conjuntos son colecciones que no permiten duplicados. Un ejemplo es la interfaz Set
y su implementación HashSet
:
import java.util.HashSet;
import java.util.Set;
public class ManejoConjuntos {
public static void main(String[] args) {
// Creación de un conjunto
Set frutas = new HashSet<>();
// Agregar elementos al conjunto
frutas.add("Manzana");
frutas.add("Plátano");
frutas.add("Manzana"); // Duplicado, no se agregará
// Iterar sobre el conjunto
for (String fruta : frutas) {
System.out.println(fruta);
}
}
}
Mapas
Los mapas son colecciones de pares clave-valor. Un ejemplo es la interfaz Map
y su implementación HashMap
:
import java.util.HashMap;
import java.util.Map;
public class ManejoMapas {
public static void main(String[] args) {
// Creación de un mapa
Map edades = new HashMap<>();
// Agregar pares clave-valor al mapa
edades.put("Juan", 25);
edades.put("María", 30);
edades.put("Carlos", 28);
// Obtener el valor por clave
int edadJuan = edades.get("Juan");
System.out.println("Edad de Juan: " + edadJuan);
// Iterar sobre las claves del mapa
for (String nombre : edades.keySet()) {
System.out.println(nombre + ": " + edades.get(nombre));
}
}
}
Iteradores
Los iteradores son objetos que permiten recorrer una colección de elementos. Se utilizan comúnmente en bucles para acceder a los elementos de la colección de manera secuencial. Aquí hay un ejemplo de cómo usar un iterador con una lista:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ManejoIteradores {
public static void main(String[] args) {
List colores = new ArrayList<>();
colores.add("Rojo");
colores.add("Verde");
colores.add("Azul");
// Obtener un iterador para la lista
Iterator iterador = colores.iterator();
// Iterar sobre la lista con el iterador
while (iterador.hasNext()) {
String color = iterador.next();
System.out.println(color);
}
}
}
Streams (Java 8 y versiones posteriores)
Los streams son una característica introducida en Java 8 que permite procesar secuencias de elementos de manera declarativa. Los streams proporcionan métodos para realizar operaciones como filtrado, mapeo y reducción de manera concisa. Aquí hay un ejemplo:
import java.util.Arrays;
import java.util.List;
public class ManejoStreams {
public static void main(String[] args) {
List numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// Filtrar números pares, duplicarlos y mostrar el resultado
numeros.stream()
.filter(n -> n % 2 == 0)
.map(n -> n * 2)
.forEach(System.out::println);
}
}
En este ejemplo, se crea un stream a partir de una lista de números, se filtran los números pares, se duplican y se muestran en la consola utilizando operaciones de stream.
No hay comentarios:
Publicar un comentario