Explorando el código, creando soluciones, y compartiendo conocimientos en el fascinante mundo del desarrollo de software.

lunes, 12 de febrero de 2024

Manejo de Colecciones en Java: Listas, Conjuntos, Mapas, Iteradores y Streams

Manejo de Colecciones en Java: Listas, Conjuntos, Mapas, Iteradores y Streams

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.


Navegación entre lecciones



© 2024 Programar desde Cero


No hay comentarios:

Publicar un comentario

Java Iniciación en Java Hola mundo en Java Sintaxis básica de Java Orientación a objetos en Java Manejo de excepciones en Java Java desde Cero Colecciones en Java Manejo de Archivos en Java Entrada/Salida en Java Hilos y concurrencia en Java Programación Funcional en Java Programación Orientada a Objetos (OOP) en Java Manejo de fechas y tiempos Persistencia de datos en Java Desarrollo Web en Java Manejo de dependencias Gradle Maven JUnit Git Java Desarrollo de servicios web en Java Patrones de Diseño en Java Principios Básicos de Seguridad en Java Principios SOLID en Java Frameworks populares en Java Ciclo de vida de una aplicación Java Desarrollo Ágil Base de Datos en Java Hola mundo en COBOL Estructura básica de COBOL Sintaxis Básica de COBOL Manipulación de archivos en COBOL Búsqueda en Archivos Secuenciales COBOL Ordenación y Combinación de Archivos COBOL Manejo de Errores en COBOL Subprogramas y Modularidad en COBOL Archivos Indexados en COBOL Clasificación y Fusión de Archivos en COBOL Lectura y Escritura de Archivos Secuenciales COBOL IDE Desarrollo de Software Programación Java Plugin Eclipse Desarrollo Integrado Eclipse IDE Java Development Desarrollo de Aplicaciones Programación en Eclipse Desarrollo Ágil Java EE Desarrollo Web Desarrollo Móvil Eclipse Marketplace Eclipse Plugins JavaFX Desarrollo GUI Git Control de Versiones GitHub Git Bash Git Commands Git Workflow Branching Merging Repositorios Commit Git Branch Git Pull Git Push Git Clone Git Merge Conflictos en Git Git Log Git Tag Git Remote Visual Studio Code IDE Desarrollo de Software Extensiones Editor de Código Programación Configuración VSC Snippets Depuración Control de Versiones Integración Git Atajos de Teclado Temas Productividad Extensiones VSC Lenguajes de Programación