EDD01 l01 Arrays en Java
EDD01 l01 Arrays en Java
Arrays en Java
Definición
Un array (arreglo) es una estructura de datos que contiene una colección de datos del mismo tipo a los
cuales se pueden acceder por su identificador y uno o varios índices entre un par de [ ].
Ejemplos:
- Temperaturas mínimas de los últimos treinta días
- Valor de las acciones de una empresa durante la última semana
- Nombres y apellidos de personas inscritas en una institución
- Notas de calificación de todos estudiantes de la materia de Programación
Propiedades
- Los arrays se utilizan como contenedores para almacenar datos relacionados (en vez de declarar
variables por separado para cada uno de los elementos del array). Para ello se debe declarar con un
nombre o identificador.
- Todos los datos incluidos en el array son del mismo tipo. Se pueden crear arrays de enteros de tipo into
de reales de tipo float, pero en un mismo array no se pueden mezclar datos de tipo int y datos de tipo
float.
- El tamaño del array se establece cuando se crea el array (con el operador new, igual que cualquier otro
objeto).
- A los elementos del array se accederá a través de la posición o índice que ocupan dentro del conjunto de
elementos del array.
Terminología
Los arrays unidimensionales se conocen con el nombre de vectores. Los arrays bidimensionales se conocen
con el nombre de matrices.
Declaración y Creación
Para declarar un array, se utilizan corchetes para indicar que se trata de un array y no de una simple
variable del tipo especificado.
En vectores:
tipo nombreVector[];
o bien
tipo[] nombreVector;
donde:
[]: indica que se trata de un array unidimensional
Estructura de Datos Ing. Victor Hugo Ticonipa Ch.
En matrices matriz:
tipo nombreMatriz[][];
o bien
tipo[][] nombreMatriz;
donde:
[][]: indica que se trata de un array bidimensional
tipo: es el tipo de dato de los elementos del vector
nombreMatriz: es el identificador de la matriz
Ejemplos:
int lista[];
char lista_letras[];
String lista_nombres[];
int lista[][];
char lista_letras[][];
String lista_nombres[][];
En vectores:
donde:
Entre corchetes se indica el tamaño del vector.
Vector:debe ser una variable declarada como tipo[]
Tipo:debe coincidir con el tipo con el que se haya declarado el vector.
Tamaño:es la cantidad de elementos que tendrá el vector.
Ejemplos:
En matrices:
donde:
Entre corchetes se indica el tamaño de la matriz.
matriz: debe ser una variable declarada como tipo[][]
tipo: debe coincidir con el tipo con el que se haya declarado la matriz.
tamaño: es la cantidad de elementos que tendrá la matriz.
Ejemplo
letras
NOTA: También se puede declarar y crear arrays al mismo tiempo, es decir en una sola línea de
código:
Ejemplos:
Otros ejemplos:
Uso
Para acceder a los elementos de un array, utilizamos índices (para indicar la posición del elemento dentro del
array)
En vectores:
vector[índice]
En matrices:
matriz[índice_filas][índice_columnas]
Inicialización en la declaración
Podemos asignarle un valor inicial a los elementos de un array en la propia declaración:
return (suma/n);
}
No es necesario utilizar todos los elementos de un vector, por lo que, al trabajar con ellos, se puede
utilizar una variable entera adicional que nos indique el número de datos que realmente estamos o
queremos utilizar:
El tamaño del vector nos dice cuánta memoria se ha reservado para almacenar datos del mismo tipo, no
cuántos datos del mismo tipo tenemos realmente en el vector.
Ejemplo 1: Dado un vector A, llenarlo con N números enteros, posteriormente visualizar y obtener la suma
de los elementos de dicho vector.
import java.util.Scanner;
System.out.print("Intro N: ");
int N = lee.nextInt();
int s = 0;
System.out.print("\nSuma = "+s);
}
}
Ejemplo 2: Dados 2 vectores con números pares e impares, obtener y visualizar el promedio (media) de
dichos vectores.
System.out.println("Vector Pares");
for (int i=0; i < pares.length; i++)
System.out.print("["+pares[i]+"]");
System.out.println("\nVector Impares");
Ejemplo 3: Dado un vector A llenarlo con N números enteros y finalmente mostrar dicho vector utilizando
funciones.
import java.util.Scanner;
System.out.print("Intro N: ");
int N = lee.nextInt();
}
Estructura de Datos Ing. Victor Hugo Ticonipa Ch.
Ejemplo 4: Dado un vector A llenarlo con N números enteros, posteriormente mostrar los datos de dicho
vector y obtener el menor elemento. Todo ello utilizando funciones.
import java.util.Scanner;
System.out.print("Intro N: ");
int N = lee.nextInt();
return (men);
}
}
Ejemplo 5: Dado una matriz A de tamaño MxN, llenarlo con números enteros, posteriormente visualizar la
matriz y obtener la suma de todos los elementos de dicha matriz.
import java.util.Scanner;
int s = 0;
System.out.print("\nSuma = "+s);
}
}
Ejemplo 6: Dado una matriz A, llenarlo con N números enteros y visualizar los datos. Finalmente determinar
el mayor elemento de la matriz. Todo lo anterior realizarlo utilizando funciones.
import java.util.Scanner;
IMPORTANTE:
- Cuando se pasa un array como parámetro a una función o método se copia una referencia al array y no
el conjunto de valores en sí.
- Por tanto, tenemos que tener cuidado con los efectos colaterales que se producen si, dentro de un
módulo, modificamos un vector que recibimos como parámetro.
Estructura de Datos Ing. Victor Hugo Ticonipa Ch.
Ejemplo
El siguiente método muestra los elementos de un vector ya creado y que es pasado como parámetro de
entrada en una función o método.
Copia de arrays
La siguiente asignación sólo copia las referencias, no crea un nuevo array:
Para copiar los elementos de un array, hemos de crear un nuevo array y copiar los elementos uno a uno
También podemos utilizar una función predefinida en la biblioteca de clases estándar de Java:
System.arraycopy(from,fromIndex,to,toIndex,n);
En el ejemplo anterior:
NOTA:
La biblioteca de clases de Java incluye una clase auxiliar llamada java.util.Arrays que incluye como métodos
algunas de las tareas que se realizan más a menudo con vectores: