La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso de java básico (scjp)

Presentaciones similares


Presentación del tema: "Curso de java básico (scjp)"— Transcripción de la presentación:

1 Curso de java básico (scjp)

2 Arrays

3 Objetivos generales Declarar y crear arreglos
Entender cómo se inicializan los elementos  de un arreglo. Determinar la cantidad de elementos  de un arreglo. Crear arreglos multidimensionales. Copiar arreglos.

4 Declaración de Arrays Los Arrays son objetos que guardan múltiples variables de determinado tipo Pueden almacenar tipos primitivos y objetos Los Arrays siempre son objetos Si 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 Un array es un objeto contenedor, que almacena un determinado número de valores de un cierto tipo. El largo de un array es establecido cuando este es creado. Cada ítem de un array es denominado elemento, y cada elemento es accedido a través de un índice. Las posiciones comienzan en 0, por lo que por ejemplo, el noveno elemento, debería ser accedido con el índice 8.

5 Declaración de Arrays De tipos primitivos: int s[]; int []s;
Crea el espacio para la referencia Un array es un objeto, entonces es creado con la palabra reservada new

6 Declaración de Arrays De tipos primitivos: int s[]; int []s;
De referencias a objetos String s[]; String []s;

7 Declaración de Arrays 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

8 Creando Arrays 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; En este ejemplo, creamos un array de tamaño 26, de tipo char, por lo que cada casillero contendrá un elemento de tipo char: ‘a’. public char[] createArray(){ char[] s; // declaramos el array s = new char[26]; //lo inicializamos, determinando el largo del mismo for ( int i=0; i<26; i++ ) { s[i] = (char) (‘A’ + i); //recorremos el array, y le asignamos a cada casillero un valor de tipo char } return s;

9 Creando Arrays 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; En este caso, el array es de tipo Point, por lo que cada casillero, posee un objeto de tipo Point.

10 Inicializando Arrays Inicializando un elemento de un array
Crear un array con valores iniciales: Aquí vemos varias formas de inicializar un array. En la columna derecha, vemos que no se especifica el tamaño del mismo, sino que se indican desde un principio los elementos que este va a contener. El primer array es de tipo String, y posee nombres; mientras que el segundo array, posee objetos de tipo MyDate. En la columna izquierda, se declara primero el array, para luego crearlo, determinando su tamaño, e inicializarlo. El primer array también es de Strings, y el segundo de objetos de tipo MyDate. Ambas formas de inicialización y creación son correctas.

11 Arrays Multidimensionales
Arrays de arrays: int twoDim [][] = new int [4][]; twoDim[0] = new int[5]; twoDim[1] = new int[5]; int twoDim [][] = new int [][4]; illegal Si tuviéramos que trabajar con matrices o con cubos, o tablas de varias dimensiones, la definición de un array, sería la mejor forma de implementarlo. Para ello, cada elemento del array principal, posee un array, por lo que tenemos un array de arrays de tipo int.

12 Arrays Multidimensionales
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]; Anteriormente, vimos arrays de una sola dimensión, es decir que en cada posición teníamos un elemento de tipo primitivo o un objeto. Ahora bien, como podríamos diseñar una matriz o un array de varias dimensiones? Para hacerlo, debemos definir un array multidimensional. En el ejemplo, vemos que nuestro array multidimensional está formado por 4 arrays, y cada uno de ellos, posee 5 elementos, es decir, tenemos un array principal de largo 4, y en cada uno de ellos, tenemos un array de largo 5. Para comprender mejor esta estructura, la podríamos comparar con una matriz o un mapa del famoso juego: batalla naval. Para implementar dicho juego, solo bastaría que crearnos una matriz, de dos dimensiones: Ejemplo: int matriz[][]= new int [4][4] En este ejemplo, tenemos una matriz de 4x4.

13 Límites de Arrays Todos los array comienzan en 0
int list[] = new int [10]; for (int i = 0; i < list.length; i++) { System.out.println(list[i]); }

14 Array 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

15 Copia De Arrays 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); El método arrayCopy, esta sobrecargado, es decir que recibe distintos parámetros. Uno de ellos, recibe como parámetro el array origen y el array destino. Otra recibe, los array destino y origen, la posición de inicio para comenzar la copia, el índice de inicio para copiar en el array destino, y el número de elementos a copiar.

16 Resumen Arrays: Declaración Inicialización Multidimensionales Limites
Copia de Arrays

17 Referencias The Java Tutorial Arrays


Descargar ppt "Curso de java básico (scjp)"

Presentaciones similares


Anuncios Google