0% encontró este documento útil (0 votos)
85 vistas12 páginas

Arreglos en Java

Este documento describe diferentes tipos de estructuras de datos, incluyendo arreglos, listas y enumerados. Explica que las estructuras de datos se clasifican en estáticas o dinámicas dependiendo de si la cantidad de memoria se define antes o durante la ejecución del programa. También describe cómo declarar, crear e inicializar arreglos unidimensionales en Java, indicando que los arreglos son objetos y por lo tanto se declaran usando corchetes después del tipo de dato.

Cargado por

Renzo Huerta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
85 vistas12 páginas

Arreglos en Java

Este documento describe diferentes tipos de estructuras de datos, incluyendo arreglos, listas y enumerados. Explica que las estructuras de datos se clasifican en estáticas o dinámicas dependiendo de si la cantidad de memoria se define antes o durante la ejecución del programa. También describe cómo declarar, crear e inicializar arreglos unidimensionales en Java, indicando que los arreglos son objetos y por lo tanto se declaran usando corchetes después del tipo de dato.

Cargado por

Renzo Huerta
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

Por: Ing. Msc.

Alberto MEDINA 05/07/2019


VILLACORTA

Estructuras de Datos
Arreglos, Arrays o
Matrices en Java 1 Es una colección de datos que se
caracteriza por su organización y
por el conjunto de operaciones que
se definen para su manipulación,
éstos definen la estructura.

2 Se clasifican en estructuras estáticas


Por: Ing° Msc. Alberto Medina Villacorta
y dinámicas, según el uso que hace
de la memoria.

Tipos de Estructuras Tipos de Estructuras

2 Dinámicas: Aquellas en las que no


1 Estáticas: Aquellas en las que la
es necesario reservar espacio de
cantidad de memoria que ocupan se
memoria antes de ejecutar el
define antes de ejecutar el programa.
programa. ya que este espacio se
No se puede cambiar el tamaño de
puede asignar durante su ejecución
memoria asignado, durante la
según se necesite.
ejecución del programa.
Así mismo dicho espacio se puede
Se usan cuando se conoce la cantidad
liberar para ser utilizado por otros
de datos, se tienen los Arreglos, las
datos, se tienen las Listas, Pilas,
Cadenas y los Registros.
Colas, Árboles y Grafos.

1
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

Tipos personalizados: Enumerados Enumerados: definición

Los enumerados son conjuntos de valores Por ejemplo, no existe ningún tipo de dato
constantes para los que no existen un tipo predefinido para representar los días de la
predeterminado. semana, los meses del año, etc.
Son definidos por el usuario, según sus
necesidades. Ejemplos:

enum diaSemana {DOMINGO, LUNES,…, SABADO}


En el lenguaje Java se definen de la siguiente
manera: enum mesAño{ENERO, FEBRERO, …, DICIEMBRE}
enum turnoClase {MAÑANA, TARDE, NOCHE}
enum nombre {listaDeConstantes}

Ejemplo de uso de Enumerados Arreglo, Array o Matriz

public class enumerado{ Una arreglo, array o matriz es un conjunto de


enum diaSemana {DOMINGO, LUNES, MARTES, variables (llamados elementos o componentes)
que contiene valores del mismo tipo.
MIERCOLES, JUEVES, VIERNES, SABADO}
Los tipos de datos se dividen en 2 categorías:
public static void main(String[ ] args) { primitivos y tipos de referencia.
diaSemana ahora = diaSemana.MIERCOLES; Las matrices son objetos, por tanto se consideran
diaSemana fin = diaSemana.SABADO; tipos de referencia.
System.out.println("Hoy es: " + ahora + Lo que normalmente consideramos como una
"\nEl fin de semana es el " + fin ); } matriz es en realidad una referencia a un objeto
} de matriz en la memoria.

2
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

Arreglo, Array o Matriz Arreglo Unidimensional o Lista


Los elementos de una matriz pueden ser tipos Es una estructura estática de datos, que permite
primitivos o tipos de referencia (incluye matrices). agrupar tipos de datos sencillos en estructuras
Para hacer referencia a un elemento determinado más complejas y hacer referencia a esa
en una matriz, se especifica el nombre de la estructura por su nombre.
referencia a la matriz y el número de posición del
elemento en la matriz. Lo más importante es que se accede y se hace
El número de posición del elemento se llama el referencia a los datos individuales del array
índice del elemento o subíndice del dato. a través de un índice numérico, el mismo que
El primer elemento de un array tiene índice cero permite ejecutar muchas operaciones en
y se llama a veces el elemento cero tiempos muy cortos.

Arreglo Unidimensional o Lista Arreglo Unidimensional o Lista


Es un conjunto de elementos que tiene las
siguientes características: Ejemplos:
1 2 3 edad 12 45 19 75
Se almacenan Todos los Todos los elementos 0 1 2 3
en posiciones elementos son tienen el mismo
consecutivas del mismo tipo. nombre y se letra ‘u’ ‘c’ ‘d’ ‘a’ ‘z’ ‘m’
de memoria. diferencian por un 0 1 2 3 4 5
4 número que indica
Permite manipular con
su posición. talla 1.50 1.89 1.45 1.56 0.95 1.82
código compacto datos 0 1 2 3 4 5
en forma masiva.

3
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

Declaración de Arreglo-Lista Declaración de Arreglo-Lista


En el lenguaje Java un arreglo unidimensional Puede usar cualquier tipo base, un primitivo
se declara según la siguiente sintaxis: (int, double, etc.), un enumerado, u otro tipo
(String, etc.) con la sintaxis equivalente:
tipoDato nombreArreglo [ ]; tipoDato [ ] nombreArreglo;

Ejemplos: int edad[ ]; Ejemplos: int [ ]edad;


char letra[ ]; char [ ]letra;
double talla[ ]; double [ ]talla;

Creación de Arreglo-Lista Declarar y Crear Arreglo-Lista

Luego de su declaración se debe crear el array Los arrays son objetos, por el que es posible
haciendo uso del operador new así: combinar los pasos de declaración y creación
de arreglos simultáneamente en uno solo, así:
nombreArreglo = new tipoDato [numElementos]; tipoDato nombreArreglo=new tipoDato[numElem];

Ejemplos: edad = new int [4]; Ejemplos: int edad=new int [4];
letra = new char [6]; char letra=new char[6];
talla = new double [6]; double talla=new double[6];

4
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

Resumen: Declarar y Crear Declarar, crear e inicializar Arrays


En resumen se tiene que: Llamada inicialización estática: también es
tipoDato [ ] nombreArreglo;
posible inicializar un array con valores
cuando se declara, para ello se debe encerrar
nombreArreglo = new tipoDato [numElementos]; entre llaves la lista de valores, así:
Ejemplos:
tipoDato nombreArreglo=new tipoDato[numElem];
int edad[ ]={12, 45, 19, 75};
Más ejemplos: int nHijos=new int [40]; char letra[ ]={‘u’, ‘c’, ‘d’, ‘a’, ‘z’, ‘m’};
double prom=new double[N]; double talla[ ]={1.5,1.89, 1.45,1.56,0.95,1.82};

Acceso a elementos Acceso a elementos

Para hacer referencia a un elemento de un Ejemplos:


arreglo unidimensional es necesario indicar el
nombre del arreglo y la posición de dicho
edad[0] edad[1] edad[2] edad[3]
elemento.

En el lenguaje Java esto se hace de la siguiente


manera: edad
0 1 2 3
nombreArreglo [posiciónDelElemento]

5
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

Tamaño: arreglo unidimensional Arreglo Bidimensional o Tabla


Para conocer el número de elementos de un Es una estructura que permite almacenar
arreglo unidimensional se utiliza su atributo elementos del mismo tipo, los cuales están
length según la siguiente sintaxis: organizados a manera de matriz en filas y
columnas, como se muestra:
nombreArreglo.length 0 1 2 3 4
0
Ejemplos:
1 Filas
int longitudEdad = edad.length; 2
int longitudTalla = talla.length; Columnas

Declaración de Arreglo-Tabla Creación de Arreglos


En el lenguaje Java un arreglo bidimensional En el lenguaje Java un arreglo bidimensional
se declara según la siguiente sintaxis: se creará de manera similar a los unidimensio-
nales según la siguiente sintaxis:
tipoDato nombreArreglo [ ] [ ]; nombreArreglo=new tipoDato [numFil][numCol];

Ejemplos: int datos[ ][ ]; Ejemplos: datos=new int [4][5];


double tabla[ ][ ]; tabla=new double [10][6];

6
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

Acceso a elementos (tablas) Acceso a elementos (tablas)

Para acceder a un elemento en particular Cada elemento del array se puede manipular en forma
de un arreglo bidimensional es necesario independiente como si de tratara de un dato simple.
especificar el nombre del arreglo y el número datos
de la fila y la columna donde está ubicado. 0 1 2 3 4
0 datos[0][0] datos[0][1] datos[0][2] datos[0][3] datos[0][4]
En lenguaje Java esto se hace de la siguiente
manera: 1
datos[1][0] datos[1][1] datos[1][2] datos[1][3] datos[1][4]
2
nombreArreglo [numFila ] [numColumna] datos[2][0] datos[2][1] datos[2][2] datos[2][3] datos[2][4]
3
datos[3][0] datos[3][1] datos[3][2] datos[3][3] datos[3][4]

Almacenamiento en memoria Tamaño: arreglo bidimensional


Se hace en forma consecutiva, fila tras fila. Como en el caso de un arreglo unidimensional
Z 0 1 2 3 se usa el atributo length, en este caso cada
Esquema
lógico 0 17 25 9 32
dimensión tiene su propio tamaño.
1 41 72 23 19 nombreArreglo.length Primera dimensión

Esquema en 2 31 21 52 48 nombreArreglo[0].length Segunda dimensión

memoria Ejemplos:
Z
17 25 9 32 41 72 23 19 31 21 52 48 int tamañoPrimera = tabla.length;
Fila 0 Fila 1 Fila 2 int tamañoSegunda = tabla[0].length;

7
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

Arrays Multidimensionales Arrays Multidimensionales


En Java un arreglo multidimensional se Como en los casos anteriores, se crearán
declara según la siguiente sintaxis: según la siguiente sintaxis:

tipoDato nombreArreglo [ ] [ ] [ ] . . . ; nombreArreglo=new tipoDato [ ] [ ] [ ] . . . ;

Ejemplo:
Ejemplo: int m[ ][ ][ ];
double matriz[ ][ ][ ][ ]; m=new int[5][3 ][2 ];
matriz= new double [2][3][4][5];

Arrays Multidimensionales Longitud de un array


También se pueden inicializar como en casos Para obtener la longitud de un array se usa el
anteriores según lo siguiente: método length según lo siguiente:

//La primera dimensión


double notas [ ][ ] ={{ 1, 2, 3}, longitud1=nombreArray.length;
{ 3, 2, 1}, //La segunda dimensión
{ 3, 1, 2}, longitud2=nombreArray[valor].length;
{ 2, 1, 2}} //La tercera dimensión
longitud3=nombreArray[valor][valor].length;

8
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

API de manejo de Arrays Ejemplo uso de la API


La API(Application Programming Interface) del Para rellenar todo el array con el número 11
lenguaje proporciona la clase ya definida se usa:
Arrays (en java.util.Arrays) para realizar
múltiples operaciones con arrays, como Arrays.fill(dato,11);
rellenar y ordenar un array y buscar en arrays Para rellenar la parte del array entre las
posiciones 5 y 12 (ambas inclusive) con el
Por ejemplo si se define:
número 11 se usa:
int [ ] dato;
Arrays.fill(dato, 5, 13, 11);
dato = new int [20];

Ejemplo uso de la API Ejemplo uso de la API


Para ordenar el array en forma ascendente Para buscar un dato en un array, este debe
se usa: estar previamente ordenado, para buscar el
elemento 19 en un array de enteros se usa:
Arrays.sort(dato);
int pos = Arrays.binarySearch(dato,19);
Para ordenar solo una parte del array entre las Si pos es positivo, en esa posición hay un entero
posiciones 5 y 12 (ambas inclusive) se usa: con el valor buscado, si hay mas de un entero
con el valor buscado, no se indica nada sobre
Arrays.sort(dato, 5, 13); cual de ellos se devuelve, si el valor buscado no
se encuentra, devuelve un número negativo.

9
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

Código ejemplo: longitud de array Código ejemplo: longitud de array

public class LongitudArray for (int i = 0; i < nota.length; i++)


{ {
public static void main(String[ ] args) suma+= nota[i];
{ }
double nota[ ] ={88, 99, 73, 56, 87, 64}; prom = suma / nota.length;
double suma, prom; System.out.println(“Promedio:”+prom);
suma = 0; }
}

2do. ejemplo: longitud de array 2do. ejemplo: longitud de array

// Función para salida de filas y // loop a través de cols. de la fila actual


//columnas de array de 2 dimensiones for (int col=0;col< array[fila].length; col++)
public static void salidaArray( int array[ ][ ] ) System.out.print(array[fila][col] +"\t");
{ // inicia una nueva linea de salida
// loop alrededor de las filas del array System.out.println( ); }
for(int fila=0; fila<array.length;fila++) }
{
}

10
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

2do. ejemplo: longitud de array 2do. ejemplo: longitud de array


public class LongitudArray2{ // muestra array1 por filas
public static void main(String[ ] args) salidaArray(array1);
{ System.out.println( "\nValores en array2 por
int array1[ ][ ] = { { 1, 2, 3 }, { 4, 5, 6 } }; fila son:" );
int array2[ ][ ] = { { 1, 2 }, { 3 }, { 4, 5, 6 } }; // muestra array2 por filas
System.out.println( "Valores en array1 salidaArray(array2);
por fila son:" ); }// fin de main

Arrays Multidimensionales Actividades de reforzamiento


Los arrays multidimensionales son arrays de
arrays , quiere decir que se pueden construir Hacer un programa usando arrays para
arrays como se quiera: calcular la distancia entre dos puntos.
double datos [ ][ ] = new double[5][ ];
datos[0]=new double [500]; Hacer un programa que ingrese el nombre,
datos[1]=new double [300]; sexo, estado civil y edad de N personas, para
datos[2]=new double [400]; Imprimir el promedio de edad de aquellas que
Tienen el mismo sexo de la persona mas joven.
datos[3]=new double [100];
datos[4]=new double [200];

11
Por: Ing. Msc. Alberto MEDINA 05/07/2019
VILLACORTA

12

También podría gustarte