Arrays
Arrays
Arrays
Programación JAVA.
Programación Java
Objetivos
• Declarar y crear arrays de tipos de datos primitivos, clases o arrays
• Entender como se inicializan los elementos de un array
• Determinar el número de elementos de un array
• Crear arrays multidimensionales
• Copiar los valores de una array a otro array
Programación Java
Declaración de arrays
• Agrupación de elementos del mismo tipo, a los que podemos referirnos usando un nombre
común.
• Un array es un objeto, por lo tanto debemos crearlo físicamente con new o con algún
inicializador especial
• Se pueden declarar arrays de tipos primitivos o clases.
char[] s, t; // Los corchetes afectan a las dos variables s y t
Point[] p1, p2; // Los corchetes afectan a las dos variables p1 y p2
char s[], t; // Los corchetes afectan solo a la variable s
Point p1[], p2; // Los corchetes afecta solo a la variable p1
Inicialización de arrays.
• Un array se inicializa automáticamente durante su creación:
– Objetos => null;
– Caracteres => ‘\u0000’;
– Numéricos => 0;
– Lógicos => false;
Programación Java
Inicialización Rápida
String[] names = {“Juan”, “Pedro”, “Pepe”}
Equivale a:
String[] names;
names = new String[3];
names[0] = “Juan”;
names[1] = “Pedro”;
names[2] = “Pepe”;
Programación Java
Arrays n-dimensionales.
• En Java no existen los arrays n-dimensionales.
• Se pueden crear arrays de otro array => Sustituye a los arrays n-dimensionales.
Límites de un array.
• Los índices de todos los arrays comienzan en 0
• Todos los arrays tienen un atributo público length
• Si nos salimos de rango se produce una excepción en tiempo de ejecución
• Se suele utilizar el atributo length para iterar sobre un array:
public void printElements(char[] list) {
for (int=0; i < list.length; i++){
System.out.println(list[i]);
}
}
• En la versión J2SE 5.0 se introdujo un bucle for que facilita la iteración sobre un bucle (se
lee como “para cada elemento de la lista haz”)
public void printElements(char[] list) {
for (char element : list){
System.out.println(element);
}
}
Programación Java
Redimensionamiento de arrays.
• Los arrays no se pueden redimensionar
• Si se puede hacer que una referencia a un array apunte a otro nuevo array
Copia de Arrays
• Java ofrece un método de la clase System que permite copiar arrays:
static void arraycopy (Object src, int srcPos, Object dest, int destPos,
int length)
// array original
int[] myArray = {1, 2, 3, 4, 5, 6};
// nuevo array, de tamaño mayor
int[] hold = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
System.arraycopy(myArray, 0, hold, 0, myArray.length);
Programación Java