Está en la página 1de 12

Resumen

Las colecciones de Java son estructuras de datos dinámicas que le permiten

almacenar listas o colecciones de tipos específicos de datos. Además, proporcionan

una API muy completa para operaciones que se pueden realizar en todas las

colecciones. Se pueden considerar de desarrollo masivo porque son estáticos y tienen

operaciones más básicas. Además, los diferentes tipos de cobros te permiten

especificar el comportamiento de cada cobro, de forma que puedas elegir el más

adecuado para cada situación. Por ejemplo, algunos conjuntos de datos cuyos

elementos siempre se ordenan automáticamente (TreeSet) u otros conjuntos de datos

que no permiten elementos duplicados (HashSet). Otras estructuras almacenan el

orden de los elementos (LinkedList o ArrayList), mientras que en otras la información

no está relacionada (HashMap).

Se llaman genéricos porque son estructuras que ya están disponibles en la API de

Java, pero se proporcionan de forma genérica, por lo que se les debe pasar un tipo de

datos para convertirlos en algún tipo de colección. Entonces, cuando lo declaramos,

debemos especificar el tipo de datos que contendrá la colección.


Colecciones en Java

1.- Diagrama de clase que lo representa

En este diagrama, la clase "Colección" representa una colección genérica en Java.

Tiene un atributo privado llamado "elementos" que es una lista (List) que almacena los

elementos de la colección.

La clase "Colección" también tiene varios métodos públicos para interactuar con la

colección:

 El método "agregar" permite agregar un elemento a la colección.

 El método "remover" permite eliminar un elemento de la colección.

 El método "contiene" verifica si un elemento dado está presente en la colección

 El método "obtener Tamaño" devuelve el número de elementos en la colección.


2. Definición de las clases colección

En este tutorial, profundizaremos en las colecciones de Java. Aprenderemos qué son y

los diferentes tipos de colecciones (Conjunto, Lista y Mapa) que se usan más

comúnmente. Además, veremos que cada tipo de colección diferente también puede

tener una implementación diferente, proporcionando una funcionalidad diferente.

Finalmente, veremos una de las innovaciones de Java 8 en las colecciones, como los

flujos, que nos permiten usar las colecciones de una manera más optimizada y

eficiente.

2. 1. Entorno

El tutorial se ha realizado usando el siguiente entorno:

Hardware: Portátil MacBook Pro Retina 15′ (2.5 Ghz Intel Core I7, 16GB DDR3).

Sistema Operativo: Mac OS Yosemite 10.10

Entorno de desarrollo: IntelliJ IDEA

Versión de Java: 1.8

Versión de Maven: 3.1

2.2. ¿Qué son las colecciones?

Una colección representa un grupo de objetos. Estos objetos se llaman elementos. Si

queremos trabajar con un conjunto de elementos, necesitamos un almacén para

almacenarlos. Java usa la interfaz de ensamblaje genérica para esto. Gracias a esta

interfaz, podemos almacenar cualquier tipo de objetos y podemos usar varios métodos

de uso común, como: agregar, eliminar, obtener el tamaño de la colección... A partir de

la interfaz de colección genérica, se han ampliado varias interfaces genéricas. Estas

subinterfaces proporcionan una funcionalidad diferente a las interfaces anteriores.

Tipos de colecciones
En este apartado, vamos a analizar los principales tipos de colecciones que se

encuentran, por defecto, en la plataforma de Java.

ArrayList: Implementa una lista basada en un arreglo dinámico. Permite el acceso

rápido a elementos por su índice, pero puede tener un rendimiento deficiente al

realizar inserciones o eliminaciones frecuentes en posiciones intermedias de la lista.

Ejemplo:
LinkedList: Implementa una lista doblemente enlazada. Proporciona un acceso rápido

a los elementos en ambos extremos de la lista, pero puede ser más lento para el

acceso aleatorio. Es eficiente para realizar inserciones y eliminaciones frecuentes en

posiciones intermedias de la lista.


HashSet: Implementa un conjunto basado en una tabla hash. No permite elementos

duplicados y no mantiene un orden específico de los elementos. Ofrece un tiempo

constante (O(1)) para las operaciones de inserción, eliminación y búsqueda, pero no

garantiza el orden de iteración.


TreeSet: Implementa un conjunto ordenado basado en un árbol (red-black tree).

Almacena los elementos en orden ascendente o según un comparador personalizado.

Proporciona un tiempo logarítmico (O(log n)) para las operaciones de inserción,

eliminación y búsqueda.
HashMap: Implementa un mapa basado en una tabla hash. Almacena pares clave-

valor y no permite claves duplicadas. No mantiene un orden específico de los

elementos. Ofrece un tiempo constante (O(1)) para las operaciones de inserción,

eliminación y búsqueda, siempre y cuando no se produzcan colisiones.


TreeMap: Implementa un mapa ordenado basado en un árbol (red-black tree).

Almacena los pares clave-valor en orden ascendente o según un comparador

personalizado. Proporciona un tiempo logarítmico (O(log n)) para las operaciones de

inserción, eliminación y búsqueda.


3. Casos de Aplicación de colecciones java

1. Sistema de gestión de inventario: Imagina que estás desarrollando un

sistema de gestión de inventario para una tienda. Puedes utilizar colecciones

en Java para almacenar y manipular los datos de los productos en el

inventario. Por ejemplo, podrías tener una colección de objetos de la clase

"Producto" que contengan información como el nombre, el precio y la cantidad

disponible de cada producto. Utilizando métodos de la colección, podrías

agregar nuevos productos, buscar productos por nombre, actualizar la cantidad

disponible, etc.

2. Red social: Supongamos que estás creando una red social y necesitas

almacenar información sobre los usuarios y sus relaciones. Puedes utilizar

colecciones en Java para representar la lista de usuarios y sus conexiones. Por

ejemplo, podrías tener una colección de objetos de la clase "Usuario" que

contengan información como el nombre, la edad y la lista de amigos de cada

usuario. Utilizando métodos de la colección, podrías agregar nuevos usuarios,

buscar usuarios por nombre, agregar amigos a un usuario, etc.


Ejemplo
Conclusiones

Como hemos visto a lo largo de este tutorial, Java proporciona una serie de estructura

muy variadas para almacenar datos. Estas estructuras, ofrecen diversas

funcionalidades de ordenación de elementos, mejora de rendimiento, rango de

operaciones por lo tanto importante conocer cada una de ellas para saber cuál es la

mejor situación para utilizarlas. Un buen uso de estas estructuras mejorará el

rendimiento de nuestra aplicación.

Referencia Biográfica

https://www.clasesdeinformaticaweb.com/java-desde-cero/colecciones-en-java/

https://www.adictosaltrabajo.com/2015/09/25/introduccion-a-colecciones-en-java/

También podría gustarte