Bienvenidos, vamos a comenzar con los arreglos en Java, qué es lo que son?
Lo primero que hay que saber es que son tipos de datos de referencia, es decir, son objetos.
Un arreglo es una instancia, una referencia, incluso como todo objeto en Java del tipo object.
Por lo tanto, extiende, hereda de object, pero es un objeto especial que contiene varios elementos.
Agrupa es una colección ordenada de elementos y podemos guardar, pero también acceder a estos valores,
a estos elementos, mediante una llave.
Un índice se asocia a un valor que guarda este arreglo a un índice y puede contener cualquier tipo dato,
ya sea primitivo pero también de referencia.
Podemos tener un arreglo, por ejemplo, de números enteros primitivos, pero también la referencia
desde un streeck hasta una clase.
Por ejemplo, producto elementos del tipo producto del tipo usuario fin.
Es decir, un conjunto de algo es un arreglo de enteros es un arreglo de string, es un arreglo de productos
siempre asociado a un tipo dato en particular, el índice o la llave siempre comienzan a cero.
La primera posición del arreglo y finaliza o termina porque Torres tiene una cantidad levantó un largo,
un tamaño específico y fijo.
Tiene un link, un largo.
Por lo tanto, podemos acceder a este último elemento con la kanté elemento con el link, pero restando.
1.
Por ejemplo, acá tenemos un arreglo del tipo entero que está guardando números.
Por ejemplo, el entero primitivo 1, 2 hasta 10, pero como comienza a cero el 1 está en el índice
cero, el 2 en el índice 1 y así sucesivamente hasta llegar a 10 y 10 está en el largo.
En el total menos 1, es decir, en la posición 9.
La última posición la podemos obtener con el total o el link menos 1 restando 1, ya que parten cero.
Si queremos buscar el elemento 5, el entero 5 se encuentra en el índice 4 en la posición 4 de la red,
pero al final corresponde al quinto elemento porque bueno 1 2 3, 4 5, pero está en la posición 4,
es decir, a través del índice 4 accedemos a este entero con el valor 5.
Este ejemplo está mostrando un arreglo enteros, pero así también podríamos tener un arreglo de string
con nombres, un arreglo de objetos de cualquier tipo, por ejemplo de usuarios con nombre, apellido,
con edad, con atributos o un objeto, produtos con el precio, nombre con el detalle.
Un arreglo de fechas también del tipo bait villaba, útil de cómo se declara y cómo se instancia.
Una red tiene dos partes.
Primero, el tipo de dato al cual pertenece este arreglo, seguido de corchetes.
Por ejemplo, un primitivo integer int corchete y luego el nombre de la variable.
Números importantes que siempre nombres de variables de un arreglo más que importante.
Es como una convención que esté en plural, que termine con s, porque representan varios elementos,
por ejemplo números, usuarios, nombres, en fin, de que es un objeto que contiene varios elementos,
ya sea primitivo.
Objetos, entonces en plural, pero es una convención.
De todas formas, si lo colocamos en singular, nos da error, en ningún caso solamente como práctica.
Entonces es importante que el tipo de la raíz de este arreglo incluya el tipo dato de los elementos
que va a contener con los corchetes y el nombre la variable.
Y para la instancia ación?
Para crear la instancia de un arreglo, lo que en la práctica reserva espacio en memoria para contener
cierta cantidad de elementos de este arreglo.
Entonces se utiliza el operador NIU para crear una instancia igual.
Cuando creamos un objeto de cualquier tipo con el nuevo, luego viene el tipo de dato del arreglo que
va a contener el arreglo.
Corchetes.
Es importante usar corchetes y no paréntesis corchetes y dentro de corchetes la cantidad elementos.
Por lo tanto, los arreglos contienen un tamaño fijo de elemento y de tamaño fijo.
No se puede modificar.
Es decir, el arreglo se crea una sola vez con cierta cantidad de espacio, con un tamaño determinado,
explícito y después no podemos volver a modificar, por lo tanto, en este sentido poco flexible.
Hay soluciones de distinta forma.
Por ejemplo, podríamos crear otro arreglo copiando los elementos de la regla anterior.
En este nuevo arreglo con un espacio mayor y de esa forma podríamos manejar el tamaño, pero de forma
explícita no es automática y es poco flexible.
Otra solución es usar el API de colección Villaba, que permite el incremento dinámico en la cantidad
elementos, es decir, crece de forma automática en tiempo ejecución y también podemos crear instancias
arreglos del tipo de objetos.
Vimos de tipo primitivo, pero también, por ejemplo, podríamos tener una colección, un arreglo de
objetos del tipo producto también con el tipo corchete.
El nombre de esta variable en plural con s igual niu el tipo ato producto.
Acá no estamos creando un solo objeto o producto, sino creamos una red, lo que a contener tres elementos
de producto.
Por lo tanto, reserva espacio y memoria para almacenar estas referencias referencias de objeto producto
de tres objetos, es importante que al final almacene referencias o un puntero que apunta hacia un objeto
que está almacenado en la memoria.
Obviamente no guarda el objeto, sino una referencia al objeto, pero está reservando espacio para guardar
tres referencias tres referencia del tipo producto en este caso, y también podemos tener una red de
es Trenc con nombres nombre de producto igual con new, el tipo corchete y la cantidad.
En este caso contener cinco elementos.
Cuando creamos un arreglo con la sentencia y antes de asignar elementos, antes de inicializar el arreglo
con valores, con datos, con elementos por defecto.
Todos estos elementos, en este caso de productos.
Estos tres elementos son NULL por defecto, Kean sin referencia, kedan con referencia vacía, NULL
lo mismo con el string porque son del tipo objeto.
Ahora si volvemos atrás, cuando tenemos un arreglo de enteros en este caso de integer primitivo, cuando
todavía no sea inicializar los datos del arreglo, cada posición de cero 1 y 2 porque son tres elementos
partiendo de cero.
Cada una de estas posiciones contiene un valor por defecto cero, porque el valor por defecto del entero
primitivo es cero de un primitivo.
Por ejemplo, si tenemos un arreglo de bullían por defecto, los valores son fouls a menos que lo asignemos
o lo inicializar.
En general, todos los tipo primitivo numéricos como el integer, el bit, el chord, el log por defecto
es el cero en el doble.
En el flop que son decimales es cero coma cero cero punto cero y en un char o un carácter es el carácter
Nule.
Continuemos bien.
Veamos cómo inicializar elementos en una red, no siempre mediante las llaves, los índices.
Por ejemplo, un arreglo de enteros con tres espacios y lo podemos inicializar de la siguiente forma
con los corchetes.
También los corchetes y el índice la llave.
Por ejemplo, en la posición cero voy a guardar el entero 1 en la posición 1 del arreglo.
Por eso, en nombre del arreglo de la variable corchetes, la posición el índice va a contener el 2,
el entero primitivo 2 y el 3 en la posición 2.
De esa forma llenamos o inicializar con datos nuestro reloj.
En este caso de enteros.
Veamos un ejemplo con producto.
Acá tenemos la intención del producto y declaración del tipo productos.
Un arreglo y vamos a crear una instancia de producto con el mio.
Acá estamos creando un objeto nuevo producto y le pasamos un nombre.
Por ejemplo, mesa comedor y esta referencia se queda en memoria en algún lugar, en algún puntero o
dirección en nuestra memoria, pero acá guarda su referencia en la posición cero.
Entonces la posición 0 guarda una referencia hacia el producto mesa comedor.
En la posición 1 guarda una referencia de un objeto producto de Bessone y en la posición 2 índices 2
guarda una referencia del producto bicicleta.
De hecho, incluso podríamos crear estos objetos estas instancias en otras variables de producto, el
tipo de producto y asignamos esas variables, pero al final siempre apunta a la referencia donde se
encuentra el objeto.
En el caso del streeck, lo mismo es lo mismo porque es un arreglo del tipo de objeto string con cinco
elementos.
En este caso, por lo tanto, en la posición cero va aguardarán 3 en la posición 1 amarilla.
En la posición 2 va a guardar a José, en la posición 3 va a guardar Isabel y en la 4 guarda a Juan.
Veamos cómo leer o acceder a un elemento de un arreglo.
Teniendo en cuenta este mismo ejemplo, ya tenemos creado intencionado y inicializar los datos, los
valores.
Ahora quiero obtener y leer un valor en particular.
Bueno, también muy parecido, siempre a través de la llave del índice podemos acceder a estos elementos.
Entonces, por ejemplo, si quiero acceder al entero o el número 1 a este de acá al 1.
Simplemente con el nombre de la variable números de Rilo Corchete y la posición cero.
Si quiero tener el número dos, el entero 2 está en la posición 1.
Guardamos el 2 y la posición 2.
Guardamos el número 3, el entero 3 y siempre se tiene que asignar asociar a una variable con el mismo
tipo de dato de la red.
Como es un arreglo de enteros.
Acá lo tenemos un hint corchete.
Sus datos son del tipo entero.
Por lo tanto, para poder acceder a estos y asignarlo a una variable también tiene que ser del mismo
tipo del tipo entera.
Pasa lo mismo con producto, por ejemplo, 3 productos como lo que tenemos en el ejemplo anterior acá
tres productos mesa comedor de Bessone y Bizikleta, cada uno en su posición.
A través del cero obtengo el producto mes a comer a través de la posición 1 índice 1 T de Sony, índice
2 bicicleta y como el tipo de auto de la red, los productos producto del tipo producto, tengo que
obtener estos datos y se asignan a variables de ese mismo tipo de producto.
Y para el ejemplo de Trig exactamente lo mismo.
Obtenemos los elementos, los nombres a través del índice de la llave, el cero.
Por ejemplo, Andrés, se asignan una variable del tipo mismo tipo de arreglo y así por cada nombre.
Posición 1, índice 1.
El segundo nombre índice 2.
El tercer nombre índice 3.
El cuarto nombre índice 4.
El quinto nombre.
Pero tenemos otra forma de declarar instancias e inicializar todo en una sola instrucción un arreglo.
Entonces, en vez de usar el operador new como en el ejemplo anterior, simplemente se puede declarar
inicializar instancia de un objeto de forma directa utilizando las llaves y dentro los elementos separador
koma.
Pero esta nomenclatura es útil solamente cuando conocemos bien la cantidad elemento que va a contener
el arreglo.
Se podría decir que es una forma de crear un arreglo en código duro, no?
Quizás de forma tan dinámica si no se crea el arreglo una sola vez al comienzo y todo de una, todo
en una sola instrucción.
Por un lado es mucho más simple, pero menos flexible.
Se declara exactamente igual.
El tipo de dato corchete nombre de la variable igual lo que cambia es en vez de utilizar el new con
el tipo y la cantil elementos es corchete y altiro de forma directa y explícita asignamos los elementos
separador, koma y listo.
Acá tenemos un arreglo de tres elementos y no tenemos que poblar nada.
Ya está inicializar.
Ya tiene asignados los valores Aloma.
Podrían modificar los elementos, por ejemplo, en vez de que contenga el valor 2 en la posición 1 guardar
otro entero por ejemplo el 10 y que contenga el 1, el 10 y el 3, y eso sería con el nombre del arreglo.
Números corchete.
La posición 1 porque 2 está en el 1, igual el número 10 y modificamos, cambiamos el 2 por el 10,
entonces la posición 1.
Recuerden que el 1 está en el cero, 2 en el 1 y 3 en el 2 y también con los demás ejemplos.
También podemos tener esta forma con declaración, instancia ación e inicialización para los demás tipo
hijo.
Qué tipo de arreglo tengo?
Qué tipo de objeto para un arreglo?
Produtos con los corchetes igual a las llaves y los productos separados por coma, solamente elementos
separados por comas.
Y lo mismo con los nombres con los trick Andrés como María, José, Isabel y Juan.
Todos separada por Comas usando las llaves.
Bien, veamos cómo iterar o recorrer un arreglo usando Ford.
Ya hemos visto ejemplos con arreglos, pero acá lo vamos a profundizar y aterrizar un poco más.
Entonces, usando un Ford necesitamos una variable de control, un contador, que partan cero porque
los elementos del arreglo comienzan a cero.
Entonces y tiramos desde cero desde el primer elemento con la condición mientras Eli sea menor que el
largo.
Cuando es igual o mayor, bueno, va a terminar el Ford.
Por lo tanto, se sale el Ford.
Entonces comenzando cero a preguntar si cero es menor que 5 elementos.
Nombre Punto Link que contiene 5 elementos Estruch.
Por lo tanto va a iterar y muestra el primer nombre utilizando los corchetes y el índice.
El índice vale cero.
Por lo tanto va a mostrar A3.
Luego se incrementa.
Recuerden que el Ford, después de cada iteración de cada sentencia del Ford, incrementa y luego vuelve
a preguntar ahora vale uno, uno es menor que 5 también, y así hasta llegar a 5 5 es menor que 5,
no se sale.
Por lo tanto, al llegar solamente hasta 5, pero no inclusive.
Por lo tanto, va a imprimir hasta 4 hasta cuando y valga 4.
Pero como parten cero va a mostrar los cinco elementos cero uno dos tres cuatro cero.
Andrés María 1, José 2, Isabel 3 y Juan 4.
Y finaliza el foro.
Pero también tenemos el frizz.
Creo que también lo vimos por ahí en algún ejemplo.
Entonces, por cada elemento del arreglo, la nomenclatura o sintaxis es el tipo de dato del arreglo.
En este caso, el tipo streeck.
La variable del FOR acá toma la variable de turno de cada iteración.
Recorre de forma dinámica el arreglo nombres y en cada iteración va a pasar el elemento a la variable
nombre y se imprime.
Luego vuelve a iterar y mueve el cursor de forma automática al segundo elemento y el segundo elemento
que corresponde al índice 1, que María se lo asigna a la variable nombre o no, que sería la variable
local o del contexto del frizz o de turno.
Esta variable solamente de turno en cada iteración y se va actualizando con los datos interfono de forma
automática y dinámica, y así va recorriendo, imprimiendo los nombres.
Bueno, y eso es todo.
Y para finalizar, ventajas.
Cuáles son las ventajas de los arreglos?
Bueno, son tipos de datos para guardar elementos optimizados.
Es decir, podemos acceder y ordenar elementos de una red de forma eficiente de acceso rápido.
Podemos obtener cualquier elemento ubicado en una posición de índice específica, pero la desventaja
es el tamaño o límite.
Sólo podemos almacenar un tamaño fijo de elementos, es decir, no podemos hacer que su tamaño aumente
o crezca en tiempo.
Ejecución no es dinámico.
Entonces, para resolver este problema podemos utilizar el API de colección Villaba del tipo list o
colección de Java o Losep, o bien replicar crear una copia de un arreglo pero con mayor capacidad y
así poblar este nuevo arreglo con los datos de la red.
Lo anterior implica más trabajo y de forma más explícita, manual y en tiempo ejecución.
No llegamos a pasar del índice o tratamos de acceder a un índice superior al tamaño máximo del arreglo.
Balancear un error, una decepción que sobrepasa el tamaño máximo del arreglo Array Index Out of Bounds
y Septién.
Entonces no nos podemos pasar, ya sea leer un elemento o tratar de asignar un elemento que está fuera
del alcance o de los límites de la red.
Estos detalles luego vamos a ver en las siguientes clases.
En los ejemplos, nada más nos vemos.