Declarar y crear arreglos Entender cómo se inicializan los elementos de un arreglo. Determinar la...

Post on 16-Feb-2015

8 views 0 download

Transcript of Declarar y crear arreglos Entender cómo se inicializan los elementos de un arreglo. Determinar la...

Declarar y crear arreglosEntender

cómo se inicializan los elementos de un arreglo.

Determinar la cantidad de elementos de un arreglo.

Crear arreglos multidimensionales.Copiar arreglos.

Los Arrays son objetos que guardan múltiples variables de determinado tipo

Pueden almacenar tipos primitivos y objetosLos Arrays siempre son objetosSi bien son eficientes, la mayoría de las veces

vamos a usar algún tipo de Collection del paquete java.util como veremos más adelante

De tipos primitivos:

int s[];

int []s;

Crea el espacio para la referenciaUn array es un objeto, entonces es creado

con la palabra reservada new

De tipos primitivos:

int s[];

int []s;

De referencias a objetos

String s[];

String []s;

Cuando se declara un array con los paréntesis a la izquierda, los mismos se aplican a todas las variables a la derecha.₋ int []a,b,c;

Nunca es legal incluir el tamaño del arreglo en la declaración₋ int [5]a; // no compila

La máquina virtual no crea el espacio hasta que se instancie el objeto Array

Ejemplo

Un array de char:

public char[]createArray(){

char[] s;

s = new char[26];

for ( int i=0; i<26; i++ ) {

s[i] = (char) (‘A’ + i);

}

return s;

}

public Point[] createArray() {

Point[] p;p = new Point[10];for ( int i=0; i<10; i++ ) {

p[i] = new Point(i, i+1);}return p;}

Inicializando un elemento de un array Crear un array con valores iniciales:

Arrays de arrays:₋ int twoDim [][] = new int [4][];₋ twoDim[0] = new int[5];₋ twoDim[1] = new int[5];₋ int twoDim [][] = new int [][4]; illegal

Arrays de arrays no rectangulares:₋ twoDim[0] = new int[2];₋ twoDim[1] = new int[4];₋ twoDim[2] = new int[6];₋ twoDim[3] = new int[8];

Array formado por 4 array de 5 elementos cada uno:

₋ int twoDim[][] = new int[4][5];

Todos los array comienzan en 0

int list[] = new int [10];

for (int i = 0; i < list.length; i++) {

System.out.println(list[i]);

}

No se puede redimensionar un array

Se puede utilizar la misma referencia para apuntar a un nuevo array siempre que sea del mismo tipo en caso de arreglos de primitivos

int myArray[] = new int[6];

myArray = new int[10];

Más adelante veremos que pasa con los objetos

El método System.arraycopy()

//original array

int elements[] = { 1, 2, 3, 4, 5, 6 };

// new larger array

int hold[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };

// copy all of the elements array to the hold

// array, starting with the 0th index

System.arraycopy(elements, 0, hold, 0, elements.length);

Arrays:₋ Declaración₋ Inicialización₋ Multidimensionales₋ Limites₋ Copia de Arrays

The Java TutorialArrays₋ http://download.oracle.com/javase/tutorial/java/nutsandbolts/arrays.

html