programación 3: arrays (arreglos) y vectores

31
Universidad de Cuenca Nombre : David Valladarez Tema : Arreglos y vectores en Java

Upload: angel-vazquez-patino

Post on 22-Jan-2018

593 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: Programación 3: arrays (arreglos) y vectores

Universidad de CuencaNombre : David Valladarez

Tema : Arreglos y vectores en Java

Page 2: Programación 3: arrays (arreglos) y vectores

Índice• ¿Qué es un arreglo?

• Declaración de un Array en Java

• Creación de un Array en Java

• Subíndices de un arrays

• Tamaño de los arrays

• Verificación del índice de un array

• Inicialización de un array en Java

• Copia de arreglos en Java

• Arrays Multidimensionales

• Cadena Clase String

• Vector

Page 3: Programación 3: arrays (arreglos) y vectores

¿Qué es un arreglo?• Un arreglo es un grupo de elementos finitos , homogéneos y

ordenados.

Finito: Un arreglo tiene un limite definido en la memoria del computador.

Homogéneo: Solo se podrá almacenar datos de 1 solo tipo.

Ordenado: Se almacenaran los datos de forma ordenada

Page 4: Programación 3: arrays (arreglos) y vectores

Declaración de un Array en Java• Se debe indicar al compilador que es un arreglo con “[ ]”;

Tipo [ ] identificador;

Tipo identificador [ ] ;

• Hay que tener en cuenta que en java no se permite indicar el numero de elemento en la declaración.

• Importante:

Los valores por defecto en java:

Para los numero es 0

Para las cadenas es NULL o Vacío.

Para los booleanos es false

Page 5: Programación 3: arrays (arreglos) y vectores

Creación de un Array en Java• Java interpreta a un array como referencia a un objeto.

• Por lo tanto para crear el objeto array usa el operador new junto al tipo de elemento que va a guardar el array.

• Se debe especificar el numero de

elementos del array

Page 6: Programación 3: arrays (arreglos) y vectores

Subíndices de un arrays• El índice de un array se denomina también subíndice del array.

• El termino procede de las matemáticas.

• El error mas común es querer acceder a un elemento fuera del rango establecido.

Page 7: Programación 3: arrays (arreglos) y vectores

Tamaño de los arrays• Java considera a un array como un objeto con la capacidad de almacenar

elementos.

• El tamaño del arreglo depende de las necesidades del programa

• Por ese motivo en Java podemos declarar el arreglo y después definirlo

Page 8: Programación 3: arrays (arreglos) y vectores

Verificación del índice de un array• Java verifica el rango del arreglo ( Lenguaje C no lo hace).

• Al detectar un array el ingreso o acceso a un elemento fuera de los índices establecidos. Java provoca que el programa rompa el tiempo de ejecución generando una excepción.

Page 9: Programación 3: arrays (arreglos) y vectores

Inicialización de un array en Java• En java se pueden inicializar un arreglo con valores constantes en una

secuencia que además determinan su tamaño

• Todas las contantes que se coloquen en un arreglo se separan con comas y se encierran entre llaves.

• Importante:

Las llaves solo nos indican la inicialización de un array no en sentencias de asignación posteriores.

Page 10: Programación 3: arrays (arreglos) y vectores

Copia de arreglos en Java• Para realizar copias de arreglos hay que tener en cuenta una observación

muy importante

Recordar que un array en java es un objeto por lo tanto la variable que nombra el array en realidad es un puntero al objeto.

Page 11: Programación 3: arrays (arreglos) y vectores

Copia de arreglos en Java• La clase System nos proporciona una

herramienta arraycopy y admite 5

argumentos.

• Origen

• Índice del array Origen(empieza la

copia)

• Destino de la copia

• Posición destino(desde donde se

inserta).

• Numero de elementos a copiar

Page 12: Programación 3: arrays (arreglos) y vectores

Arrays Multidimensionales• Los arrays multidimensionales se caracterizan por tener mas de un

subíndice(dependiendo de la dimensión en la que se quiera trabajar).

• Los más utilizados son los arrays bidimensionales o también llamados matrices

Page 13: Programación 3: arrays (arreglos) y vectores

Inicialización de arrays multidimensionales• Java requiere que cada dimensión este encerrada entre corchetes.

• Un array de dos dimensiones en realidad es un array de array

• Los elementos de los arrays se almacenan en memoria de modo que el subíndice más próximo al nombre del array es la fila y el otro es la columna.

• La forma de inicializar un arreglo

multidimensional es encerrando entre llaves

la lista de constantes

• Cada lista debe separarse por comas(que será

la fila)

Page 14: Programación 3: arrays (arreglos) y vectores

Inicialización de arrays multidimensionales

Índices 1 2 3 4

1 1 2 3 4

2 5 6 7 8

3 9 10 11 12

4 13 14 15 16

Page 15: Programación 3: arrays (arreglos) y vectores

Acceso a los elementos de arrays bidimensional• Para acceder a un elemento en un arreglo bidimensional se debe especificar

los índices de fila y la columna.

Page 16: Programación 3: arrays (arreglos) y vectores

Arrays de más de dos dimensiones

0

1

0

10 1

1 2

3 4

5 6

8

Page 17: Programación 3: arrays (arreglos) y vectores

Utilización de Array como parámetros

• En java las variables tipo

primitivo se pasan como

valor

• El array al ser un objeto

se pasara como referencia

a la dirección del objeto

Page 18: Programación 3: arrays (arreglos) y vectores

Cadena Clase String • Java crea un array de caracteres, a ese array se le accede a través de las

funciones miembro de la clase.

• A una cadena String se le puede conocer de 2 maneras:

Implícitamente: Java crea un objeto de la clase String automáticamente.

Explícitamente: El programador debe crear y declarar al objeto String

Page 19: Programación 3: arrays (arreglos) y vectores

Declaración de las variables cadenas• Al colocar lo siguiente:

solamente estamos declarando, pero no creamos ningún objeto de la clase String.

• La forma correcta de crear seria:

Page 20: Programación 3: arrays (arreglos) y vectores

Inicialización con un constructor String• Constructor de cadena Vacía: Crea una cadena sin caracteres, es una

referencia a una cadena vacía.

• Constructor de cadena a partir de otra cadena:

Page 21: Programación 3: arrays (arreglos) y vectores

Inicialización con un constructor String• Constructor de cadena a partir de un objeto StringBuffer.

• Constructor de cadena a partir de un array de caracteres.

Page 22: Programación 3: arrays (arreglos) y vectores

Métodos de String• toUpperCase

• toLowerCase

• length

• charAt

Page 23: Programación 3: arrays (arreglos) y vectores

Métodos de String

• replace• valueOf

• equals

Page 24: Programación 3: arrays (arreglos) y vectores

Clase Vector• La clase Vector es parte del paquete java.util de la librería estándar de

clases de Java.

• La clase vector nos ofrece un funcionamiento similar al de los arreglos con la diferencia que el vector no esta declarada para que sea un tipo particular;

• Una solución es la de crear un array cuya dimensión sea más grande que el número de elementos que necesitamos guardar

Page 25: Programación 3: arrays (arreglos) y vectores

Creación de un vector• Se utiliza el operador new para crear el objeto vector.

• La clase vector dispone de diversos constructores.

Crear un vector vacío

Crear un vector con los elementos de otro.

Crear un vector con una capacidad inicial.

Si se sobrepasa la dimensión establecida del vector, la dimensión del vector se duplicara y se desperdiciara el espacio de memoria:

Page 26: Programación 3: arrays (arreglos) y vectores

Insertar elementos• Añade un vector a continuación del ultimo elemento

• Insertar el objeto en la posición P, los elementos que están posteriormente

a P se recorren una posición.

Page 27: Programación 3: arrays (arreglos) y vectores

Acceso a un elemento• Devuelve el elemento cuya posición es P

• Devuelve el número de elementos

Page 28: Programación 3: arrays (arreglos) y vectores

Eliminar un elemento

• Elimina elemento índice y el resto se renumera.

• elimina la primera aparición de op, devuelve true si realiza la eliminación.

Page 29: Programación 3: arrays (arreglos) y vectores

Eliminar un elemento

• Elimina todos los elementos.

Page 30: Programación 3: arrays (arreglos) y vectores

Búsqueda

• Devuelve true si se encuentra el objeto

• Devuelve la primera posición de op, -1 si no está.

Page 31: Programación 3: arrays (arreglos) y vectores

Bibliografía• Luis joyanes Aguilar, I. Z. (2008). Estructuras de datos en Java. Madrid: Mc

Graw Hill.

• Guerra., D. L. (2010). ecured. Obtenido de https://www.ecured.cu/Arreglos_(Inform%C3%A1tica)

• Cuenca, M. S. (2016). apr. Obtenido de http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=168:repaso-arrays-o-arreglos-unidimensionales-en-java-tipos-de-inicializacion-ejemplos-de-codigo-cu00903c&catid=58:curso-lenguaje-programacion-java-nivel-avanzado-i&Itemid=180