Array

Solo disponible en BuenasTareas
  • Páginas : 13 (3161 palabras )
  • Descarga(s) : 0
  • Publicado : 19 de septiembre de 2010
Leer documento completo
Vista previa del texto
Fundamentos de programación
Tema 4. Estructuras estáticas de datos: Arrays

Área de Lenguajes y Sistemas Informáticos

Curso 2009-2010

Contenidos
• Definición, declaración y creación de arrays. • Ordenamiento de arrays. Algoritmos. • Arrays multidimensionales.

¿Qué es un array?
Es una estructura de datos que almacena una cantidad fija de elementos del mismo tipo, a los cuales sepuede acceder por medio de un índice que indica su posición dentro de la estructura.
• Estructura homogénea de datos → Todos los datos son de un mismo tipo o clase. • Estructura estática de datos: → Los arrays contienen siempre el mismo número de datos • En álgebra: vectores (1D), matrices (2D), tensores (3D). • En Java: Son objetos que se declaran, crean, inicializan y consultan.

Declaraciónde arrays en Java (I)
Declaración de un array en Java:
Tipo_de_los_elementos [] nombre_de_referencia_al_array

O equivalentemente:
Tipo_de_los_elementos nombre_de_referencia_al_array [];

Ejemplos:
int [] arrayDeEnteros; char [] arrayDeCaracteres; int arrayDeEnteros []; char arrayDeCaracteres [];

En la declaración no se especifica el tamaño del array. ¿Por qué? → Porque en la declaraciónno se crea el array, sino la referencia que lo apunta. De hecho, lo que realmente estamos declarando es una referencia al array.

Declaración de arrays en Java (II)
Declaración de arrays:
int [] arrayDeEnteros; char [] arrayDeCaracteres;

¡Ojo!: Estos ejemplos declaran una
referencia al array Todavía no tengo ningún array, sino algo que puede apuntar (referirse) a un array.

Los arraysen Java son objetos y a los objetos en Java no se accede nunca de forma directa, sino a través de referencias. La declaración int [] serie; significa que:
Obtengo una referencia llamada serie que puede apuntar a un array de enteros, pero de momento, dependiendo de dónde se declare (se verá en tema Métodos): → o bien no apunta a nada → o bien apunta a algo indefinido

Para que serie apunte a unarray debemos crear dicho array.

Creación de arrays en Java (I)
Crear un array es asignarle un espacio de almacenamiento en memoria.
Para ello, hay que usar el operador new, seguido por: • El tipo de los elementos del array y • El número de elementos que va a contener entre corchetes

new

tipo_elemento [n_elementos]

El operador new crea un array de n_elementos del tipo tipo_elementoy devuelve una referencia al mismo.

La creación del array fija su número de elementos, que permanece inmutable:
new int[5];
// Crea un array de 5 enteros // y devuelve una referencia al mismo.

Creación de arrays en Java (II)
Obviamente, de poco nos sirve crear un array si no podemos referirnos a él.

→ ¿Cómo lo usamos? Asignando la referencia que devuelve new a
una referencia a unarray.

int serie[]; serie = new int[5];
serie Esto es la referencia Celdas Posiciones del array 0 Los elementos del 1 array ocupan 2 posiciones de memoria contiguas. 3 4 Esto es el objeto array

Referencia al array. ¡Ojo!, serie es el nombre de la “flecha”.

Creación de arrays en Java (III)
Los arrays se pueden declarar y crear simultáneamente: int [] serie = new int[5]; Se pueden declarary crear varios arrays que contengan el mismo tipo de elementos en una sola línea: int a[] = new int[20], b[] = new int[100];

De Objetos y Referencias (I)
• A los objetos se accede mediante referencias que apuntan a los mismos.



Los arrays en Java son objetos.

Una referencia es a un objeto lo que la dirección a un domicilio. La dirección de tu casa ≠ Tu Casa Referencia ≠ ObjetoObviamente son conceptos relacionados. Una carta no llega a su destino si no pones bien las señas.
• Veamos qué significa esto en el ámbito de los arrays.

De Objetos y Referencias (II)
1 int [] serie1 = new int[5]; 2 int [] serie2 = new int[3]; 3 serie1 = serie2;
serie1 serie1 serie2

1 2

Objeto no apuntado por ninguna referencia. En Java es borrado de la memoria. 3

serie2

serie1...
tracking img