Está en la página 1de 36

Unidad 2 - Introducción al

manejo de colecciones
PROGRAMACIÓN ORIENTADA A OBJETOS
Contenido
2.1 Arreglos estáticos y matrices
2.2. Clases envolventes (wrapper)
2.3. Arreglos dinámicos
Objetivos
2.1 Desarrollar programas que utilicen arreglos estáticos y dinámicos
para la solución de problemas complejos.

2.2 Construir diagramas de clases para el diseño y documentación de


un programa orientado a objetos.
CLASE 1
2.1 Arreglos estáticos y
matrices
Arreglos(arrays)
• Estructura de datos que nos permite almacenar un conjunto de datos de un
mismo tipo.
• El tamaño de los arrays se declara en un primer momento y no puede cambiar
luego .

• Sintaxis:
Arreglos
q Se pueden declarar variable de tipo arreglos de cualquier tipo:
!"#$%&'%()%*+,%*-$$#.'%()
!"#$'%(%&)%%*+,'%(%*-$$#.) Fíjate en las sintaxis,
ambas son permitidas
!"#$'%(%&)%%*+,'%(%*-$$#.)

q Deben tener un tamaño inicial establecido:


*+,'(%+/01$2& 3+14%*+,'5() El arreglo puede
crearse sin elementos
o con ellos.
*+,%+/01$2&'%(%3%678%58%98%:;)%
Arreglos (Arrays)
stack
Arreglos
q Se pueden declarar variable de tipo arreglos de cualquier tipo:
!"#$%&'%()%*+,%*-$$#.'%()
!"#$'%(%&)%%*+,'%(%*-$$#.) Fíjate en las sintaxis,
ambas son permitidas
!"#$'%(%&)%%*+,'%(%*-$$#.)

q Deben tener un tamaño inicial establecido:


*+,'(%+/01$2& 3+14%*+,'5() El arreglo puede
crearse sin elementos
o con ellos.
*+,%+/01$2&'%(%3%678%58%98%:;)%
Arreglos (Arrays)
double[] values; //1
values = new double[10]; //2
values[4] = 35; //3
Indexación sobre arreglos
• Se mantiene la definición de índices para acceder a sus elementos:
Tipos de datos en Arrays
Características
• Un arreglo no puede cambiar el tamaño en tiempo de ejecución.
INICIALIZAR ARREGLOS
• Un array es un objeto, por lo tanto, cuando se crea, a sus elementos
se les asigna automáticamente un valor inicial:
• 0 para arrays numéricos
• '\u0000' (carácter nulo) para arrays de caracteres
• false para arrays booleanos
• null para arrays de String y de referencias a objetos.
Errores comunes
• Errores de límites:

• Arreglos sin inicializar:


Errores comunes
• Errores de límites:

• Arreglos sin inicializar:


Errores comunes
• Errores de límites:

• Correcto:
Valores iniciales
en un arreglo

Los valores iniciales en el


arreglo dependen del
tipo de dato
• Declaración e inicialización arreglo de tipo CuentaBancaria:

• Inicialización de los valores del arreglo:


//En cada iteración del lazo, creamos un nuevo objeto de tipo CuentaBancararia
//y lo almacenamos en la posición i del arreglo
La propiedad length
• Determina la cantidad de elementos del arreglo.
x = numeros.length;

• Representa un valor entero.


int x = numeros[numeros.length-1]

• O como límite para los ciclos:


for (i=0; i<numeros.length; i++ )
Ejercicios para el estudiante
• Cree un programa que construya un arreglo de 5 elementos de tipo
double con valores al azar.
• Calcule la suma y el promedio de los elementos del arreglo.
• Encuentre el índice y el valor del elemento más alto al azar.
Loop For Mejorado
Loop For Mejorado

Loop For Mejorado Loop for Clásico


Loop For Mejorado
• ¡No se pueden hacer asignaciones!
Clase Arrays
• La clase Arrays (note la s al final) contiene métodos estáticos
comunes en la manipulación de arreglos.
• https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java
/util/Arrays.html#asList(T...)
• https://www.tutorialspoint.com/java/util/java_util_arrays.htm
Ejemplo
• Ver ejemplo ClaseArrays.java
Arreglos en dos
dimensiones.
Arreglos de dos dimensiones

q El primer elemento corresponde al índice 0.


q En arreglos multidimensionales, es necesario asignar
memoria sola a la primera dimensión.
int two[ ] [ ] = new int [3] [ ];
q Las otras dimensiones pueden variar para cada
elemento.
two[0] = new int[1];
two[1] = new int[4];
two[2] = new int[6];
Creación de arreglo bidimensional
Cualquier tipo
de datos Crea el Número
inlcuso clases arreglo de filas
propias

Número
de
variable
columnas
Arreglos bidimensionales (matrices)
• Sintaxis
Arreglos bidimensionales
q Por lo general estas estructuras se conocen con el nombre de MATRICES.
q Cada posición se identifica por la fila y la columna.

q 3 filas
q 5 columnas 0 1 2 3 4

2
Arreglos bidimensionales
q Por lo general estas estructuras se conocen con el nombre de MATRICES.
q Cada posición se identifica por la fila y la columna.

q 3 filas
q 5 columnas 0 1 2 3 4

1 6

2
Arreglos bidimensionales
q Por lo general estas estructuras se conocen con el nombre de MATRICES.
q Cada posición se identifica por la fila y la columna.

q 3 filas
q 5 columnas 0 1 2 3 4

1 6

2
Arreglos bidimensionales (matrices)
• Se pueden cargar directamente los elementos, durante la
declaración de la matriz .

• Longitud de filas:

• Longitud de columnas:
Arreglos bidimensionales
q Por lo general estas estructuras se conocen con el nombre de MATRICES.
q Cada posición se identifica por la fila y la columna.

q 3 filas
q 5 columnas 0 1 2 3 4

2
LECTURA
• Para la siguiente clase realizar lectura de Lambda expressions y de
API stream.
• https://www.oracle.com/technetwork/es/articles/java/expresiones
-lambda-api-stream-java-2633852-esa.html

• https://www.oracle.com/technetwork/es/articles/java/expresiones
-lambda-api-stream-java-2737544-esa.html

También podría gustarte