Programación 3: arrays (arreglos) y vectores
-
Upload
angel-vazquez-patino -
Category
Engineering
-
view
593 -
download
4
Transcript of Programación 3: arrays (arreglos) y vectores
![Page 1: Programación 3: arrays (arreglos) y vectores](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/1.jpg)
Universidad de CuencaNombre : David Valladarez
Tema : Arreglos y vectores en Java
![Page 2: Programación 3: arrays (arreglos) y vectores](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/2.jpg)
Í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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/3.jpg)
¿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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/22.jpg)
Métodos de String• toUpperCase
• toLowerCase
• length
• charAt
![Page 23: Programación 3: arrays (arreglos) y vectores](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/23.jpg)
Métodos de String
• replace• valueOf
• equals
![Page 24: Programación 3: arrays (arreglos) y vectores](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/24.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/25.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/26.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/28.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/29.jpg)
Eliminar un elemento
• Elimina todos los elementos.
![Page 30: Programación 3: arrays (arreglos) y vectores](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/30.jpg)
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](https://reader034.fdocuments.ec/reader034/viewer/2022052313/58e9fbd51a28ab88748b4c1d/html5/thumbnails/31.jpg)
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