Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Summary

Sumario ESTRUCTURAS DE ALMACENAMIENTO Y GESTIÓN DE DATOS EN JAVA

Rating
-
Sold
-
Pages
41
Uploaded on
18-01-2026
Written in
2025/2026

ESTRUCTURAS DE ALMACENAMIENTO Y GESTIÓN DE DATOS EN JAVA

Institution
Course

Content preview

ESTRUCTURAS DE ALMACENAMIENTO Y GESTIÓN DE DATOS EN
JAVA


CAPÍTULO 1: 📖 FUNDAMENTOS TEÓRICOS

1. ARRAYS: LA ESTRUCTURA ESTÁTICA FUNDAMENTAL

1.1 Definición Extendida y Precisión Académica

Un array es una estructura de datos que representa una secuencia de elementos, donde cada elemento (un grupo
de bytes de memoria que almacenan un único ítem de datos) se asocia inequívocamente con al menos un índice
(entero no negativo). Se caracteriza por cuatro axiomas fundamentales:

1. Isometría de memoria: Cada elemento ocupa exactamente el mismo número de bytes.

2. Homogeneidad: Todos los elementos deben ser del mismo tipo de dato.

3. Contigüidad (teórica): Se tiende a conceptualizar que ocupan localizaciones de memoria consecutivas
(aunque en arrays multidimensionales esto tiene matices).

4. Dimensionalidad: El número de índices necesarios para recuperar un elemento define la dimensión del
array,.

1.2 Arquitectura y Funcionamiento Interno

Cuando se instancia un array mediante la palabra clave new , ocurren procesos críticos en la memoria:

1. Asignación: new solicita al sistema operativo un bloque de memoria para los elementos.

2. Inicialización de bits: Se ponen a cero todos los bits de los bytes de cada elemento. Esto garantiza que cada
posición contenga un valor por defecto (0 para números, null para referencias, false para booleanos),.

3. Referencia: La variable del array no contiene los datos en sí, sino una referencia (puntero) a la dirección de
memoria donde comienza la secuencia de datos.

Gestión de Tipos:

• Arrays de Tipos Primitivos: Almacenan los valores directamente en las celdas de memoria asignadas.

• Arrays de Objetos: Almacenan referencias a los objetos, no los objetos en sí. Inicialmente, estas referencias son
null hasta que se instancian los objetos individuales.


1.3 Clasificación de Algoritmos de Manipulación de Arrays

Para trabajar con arrays, existen algoritmos estándar que todo ingeniero debe dominar.

A. Búsqueda Lineal

• Funcionamiento: Examina el elemento con índice 0 y continúa secuencialmente hasta el final o hasta encontrar
el dato.

• Ventajas: Simplicidad extrema; funciona en arrays desordenados.

,• Desventajas: Ineficiente en grandes volúmenes. Coste computacional O(n). En un array de 20 millones de datos,
podría requerir 20 millones de comparaciones.

• Caso de uso: Listas pequeñas o datos no ordenados.

B. Búsqueda Binaria

• Funcionamiento: Divide el array en mitades sucesivas. Calcula el índice central; si el dato buscado es menor,
descarta la mitad superior; si es mayor, descarta la inferior. Repite el proceso.

• Requisito Crítico: El array debe estar previamente ordenado.

• Ventajas: Velocidad logarítmica O(log n). En 1.048.576 elementos, solo requiere 20 comparaciones máximo.

• Desventajas: Complejidad de implementación y necesidad de orden previo.

C. Ordenación de Burbuja (Bubble Sort)

• Funcionamiento: Realiza múltiples pasadas sobre el array comparando elementos adyacentes. Si están en el
orden incorrecto, los intercambia. Los valores más grandes “burbujean” hacia el final en cada iteración.

• Ventajas: Simplicidad conceptual.

• Desventajas: Es uno de los algoritmos más lentos (O(n²)). No apto para producción masiva.




2. CLASE STRING: INMUTABILIDAD Y GESTIÓN DE TEXTO

2.1 Definición Extendida

En Java, un String no es un tipo primitivo, sino una Clase. Representa una secuencia de caracteres inmutables.
Físicamente, actúa como un array unidimensional de caracteres.

🎓 Explicación para humanos: Un String es como un cartel de neón soldado. Una vez fabricado con el texto
“HOLA”, no puede cambiar las letras. Si quiere que diga “HOLA MUNDO”, no modifica el cartel existente; tiene
que fabricar un cartel nuevo completo y tirar el anterior a la basura (o al recolector de basura).

2.2 Arquitectura: El problema de la Inmutabilidad

La propiedad de inmutabilidad implica que una vez creado un objeto String , su contenido no puede variar.

• Consecuencia en Memoria: Cualquier operación de concatenación ( + ), reemplazo o conversión genera un
nuevo objeto en el Heap de memoria, dejando el original para ser recolectado.

• Riesgo: Un uso intensivo de modificaciones de cadenas puede saturar la memoria y disparar el Garbage
Collector, degradando el rendimiento.

2.3 Clasificación de Clases de Texto Alternativas

Para solucionar la inmutabilidad, Java ofrece alternativas mutables:


2.3 Clasificación de Clases de Texto Alternativas

,Para solucionar la inmutabilidad, Java ofrece alternativas mutables:


Clase Características Ventajas Desventajas Caso de Uso

Inmutable. Ineficiente en
Seguridad en hilos, Textos fijos,
String Almacenamiento modificaciones
simplicidad. mensajes, claves.
fijo. frecuentes.

Thread-safe (seguro Entornos multi-hilo
Mutable. Métodos Lento debido a la
StringBuffer en concurrencia). donde se modifica
sincronizados. sincronización.
Modificable in-situ. texto.

No es seguro en Manipulación
Mutable. Métodos Máxima eficiencia en
StringBuilder entornos intensiva de texto
no sincronizados. modificaciones.
concurrentes. en un solo hilo.




3. INTERCAMBIO DE DATOS: XML (DOM vs SAX)

El tratamiento de XML es vital para la interoperabilidad. Java ofrece dos arquitecturas opuestas para procesar
estos archivos: DOM y SAX.

3.1 DOM (Document Object Model)

• Definición Técnica: Representación del documento XML como una estructura de árbol jerárquico cargada
completamente en la memoria principal.

• Funcionamiento: Parsea el archivo completo y crea objetos para cada etiqueta, atributo y texto (Nodos).

• Ventajas:

◦ Permite navegación bidireccional (ir al padre, volver al hijo).

◦ Permite modificar la estructura y guardar los cambios.

• Desventajas:

◦ Alto consumo de memoria (Heap Space). Si el XML es gigante, la aplicación puede colapsar.

3.2 SAX (Simple API for XML)

• Definición Técnica: Analizador basado en flujos de eventos. No carga la estructura en memoria; lee
secuencialmente.

• Funcionamiento: A medida que lee el archivo, dispara eventos ( startDocument , startElement , characters ,
endElement ) que el programador debe capturar.


• Ventajas:

◦ Extremadamente eficiente en memoria (Memory friendly).

◦ Ideal para archivos XML masivos.

, • Desventajas:

◦ Lectura unidireccional (no se puede “volver atrás”).

◦ No permite modificar el documento fácilmente.

◦ Lógica de programación más compleja.




4. ESTRUCTURAS DINÁMICAS: LISTAS Y COLECCIONES
4.1 Concepto de Lista

Una lista es una secuencia de elementos del mismo tipo donde cada elemento conoce cuál es su siguiente. A
diferencia de los arrays, no requieren un tamaño fijo inicial.

Clasificación por Acceso:

1. Listas Densas: La posición física determina el orden (como un array). Si borro el elemento 2, queda un
hueco o debo mover todos los demás.

2. Listas Enlazadas: La posición es lógica. Cada elemento tiene un “puntero” o referencia al siguiente. Si borro
uno, solo cambio hacia dónde apunta el anterior.

Listas Ordinales Específicas:

• PILA (Stack): Comportamiento LIFO (Last In, First Out). El último en entrar es el primero en salir (como una pila
de platos).

• COLA (Queue): Comportamiento FIFO (First In, First Out). El primero en llegar es el primero en ser atendido
(como una cola del supermercado).

4.2 Framework Collections de Java

Java agrupa estas estructuras en una jerarquía robusta.

A. Listas (Interfaz List)

Colecciones ordenadas que permiten duplicados.

• ArrayList: Implementación basada en arrays redimensionables. Rápida en lectura ( get ), lenta en
inserción/borrado intermedio (requiere desplazar bits).

• LinkedList: Implementación de lista doblemente enlazada. Lenta en lectura (debe recorrer nodos), rapidísima en
inserción/borrado.

B. Conjuntos (Interfaz Set)

Colecciones que NO permiten duplicados. Basadas en conceptos matemáticos.

• HashSet: Sin orden garantizado. Máxima velocidad (usa tablas hash).

• TreeSet: Ordena los elementos automáticamente (árbol binario). Menor rendimiento que HashSet pero
garantiza orden.

Written for

Course

Document information

Uploaded on
January 18, 2026
Number of pages
41
Written in
2025/2026
Type
SUMMARY

Subjects

$4.09
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller
Seller avatar
jesús6

Also available in package deal

Get to know the seller

Seller avatar
jesús6 Universidad Nacional de Educación a Distancia
Follow You need to be logged in order to follow users or courses
Sold
1
Member since
6 months
Number of followers
0
Documents
17
Last sold
5 months ago

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions