0% encontró este documento útil (0 votos)
221 vistas24 páginas

Arreglos y Clases Genéricas en Java

Este documento describe diferentes tipos de arrays y clases genéricas en Java, incluyendo arrays unidimensionales y bidimensionales, cómo ordenar y manipular arrays, y la clase ArrayList. Explica cómo declarar y acceder a elementos de arrays, agregar y eliminar elementos de ArrayList, y algoritmos comunes como ordenar, mostrar, cargar y buscar elementos en arrays.

Cargado por

Evelyn Medina
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
221 vistas24 páginas

Arreglos y Clases Genéricas en Java

Este documento describe diferentes tipos de arrays y clases genéricas en Java, incluyendo arrays unidimensionales y bidimensionales, cómo ordenar y manipular arrays, y la clase ArrayList. Explica cómo declarar y acceder a elementos de arrays, agregar y eliminar elementos de ArrayList, y algoritmos comunes como ordenar, mostrar, cargar y buscar elementos en arrays.

Cargado por

Evelyn Medina
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD DE GUAYAQUIL

“FACUTAD DE INGENIERIA INDUSTRIAL”

TEMA GENERAL:
ARREGLOS Y CLASES GENERICAS

GUAYAQUIL – ECUADOR 18/01/2021


ARRAYS (ARREGLOS)

Es una estructura de datos que nos permite almacenar un conjunto de datos de un mismo
tipo. El tamaño de los arrays se declara en un primer momento y no puede cambiar luego
durante la ejecución del programa, como sí puede hacerse en otros lenguajes.

Arrays unidimensionales

Es un tipo de datos estructurado que está formado por una colección finita y ordenada de
datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Los
datos que se guarden en los arreglos todos deben ser del mismo tipo

Por ejemplo, supongamos que queremos guardar las notas de los 20 alumnos de una clase.
Para almacenar las notas utilizaremos un array de 20 elementos de tipo double y en cada
elemento del array guardaremos la nota de cada alumno Podemos representar gráficamente
el array de notas de la siguiente forma:

Para acceder a cada elemento del array se utiliza el nombre del array y un índice que indica
la posición que ocupa el elemento dentro del array.

 El índice se escribe entre corchetes. o El primer elemento del array ocupa la posición 0, el
segundo la posición 1, etc.
 En un array de N elementos el último ocupará la posición N-1.
 En el ejemplo anterior, notas [0] contiene la nota del primer alumno y notas [19] contiene la
del último
Para crear un array se deben realizar dos operaciones:

1. Declaración: En la declaración se crea la referencia al array. La referencia será el nombre con


el que manejaremos el array en el programa. Se debe indicar el nombre del array y el tipo de
datos que contendrá. De forma general un array unidimensional se puede declarar en java de
cualquiera de estas dos formas:
- tipo [] nombreArray;
- tipo nombreArray [];

2. Instanciar: Mediante la instanciación se reserva un bloque de memoria para almacenar todos


los elementos del array. La dirección donde comienza el bloque de memoria donde se
almacenará el array se asigna al nombre del array. De forma general: nombreArray = new
tipo[tamaño]; nombreArray: es el nombre creado en la declaración.

Tipo: indica el tipo de datos que contiene.

Tamaño: es el número de elementos del array. Debe ser una expresión entera positiva. El
tamaño del array no se puede modificar durante la ejecución del programa.

New: operador para crear objetos.


Mediante new se asigna la memoria necesaria para ubicar el objeto. Java implementa los arrays
como objetos.

Arrays bidimensionales y n-dimensiones

Los arreglos bidimensionales son tablas de valores. Cada elemento de un arreglo bidimensional
está simultáneamente en una fila y en una columna.
En matemáticas, a los arreglos bidimensionales se les llama matrices, y son muy utilizados en
problemas de ingeniería. En un arreglo bidimensional, cada elemento tiene una posición que se
identifica mediante dos índices: el de su fila y el de su columna. La sintaxis será:

La declaración de una matriz tradicional de m x n elementos podría ser:


Algoritmos de ordenación
Ordenar un array es muy importante, ya sea de números o de cadenas, puede haber casos en
que nos interese que los datos estén ordenados en un array. Tenemos varias formas de
hacerlo, tanto con números como con cadenas: Intercambio: consiste en comparar el primer
valor con el resto de las posiciones posteriores, cambiando el valor de las posiciones en
caso de que el segundo sea menor que el primero comparado, después la segunda posición
con el resto de posiciones posteriores. Te enseñamos un ejemplo de como funciona.
Ejemplo: Lo primero será definir un array en Java. En este caso vamos a crear un array de
enteros.

A este array ya le hemos insertando mediante las llaves un conjunto de números, los cuales
vamos a ordenar. Ahora tenemos que echar mano de la clase Arrays. Esta clase contiene un
conjunto de métodos estáticos que nos permiten manipular los arrays.
Uno de estos métodos es el método .sort().
Mediante el método .sort() conseguiremos ordenar un array en Java.
Simplemente tendremos que ejecutar la siguiente sentencia:

De esta forma los números ya estarán ordenador en el array. Solo tienes que volcarlos por
pantalla para poder comprobarlo tu mismo.
Algoritmo de mostrar
En el caso de querer listar todos los elementos del Array tendremos que recorrer, uno a uno,
cada uno de los elementos que comprenden el Array. Lo primero que tenemos que saber es
que para listar un determinado elemento deberemos de utilizar la siguiente sentencia:

Para mostrar todos los elementos utilizaremos una estructura repetitiva (por ejemplo, el
bucle for). Tendremos que iterar tantas veces como elementos comprendan el Array. Para
saber el número de elementos que contiene el Array utilizamos la propiedad .length.
Al final, nuestro bucle quedaría algo así:

Algoritmo de ingresar
Supongamos que se quiere escribir un programa que solicite por teclado el valor de cinco
números enteros, siendo guardados en un array. A continuación, en la pantalla se quieren
mostrar los valores introducidos, tal y como se muestra en la imagen siguiente:
Para ello, en Java se puede escribir:

Algoritmo de Cargar Se define una matriz de números en Java. En ese ejemplo


rellenábamos los valores de la matriz directamente en la instanciación de la matriz

Para este caso lo primero que haremos será instanciar la matriz vacía. Por ejemplo, una
matriz de 3×3:

Ahora vamos a rellenarla. Para ello vamos a utilizar la misma técnica que si la quisiésemos
recorrer. Es decir, dos bucles anidados que iteraran por el número de elementos que tenga
la matriz en cada índice. El tamaño de la matriz que nos sirve para definir el bucle lo
conseguimos mediante la propiedad. Length.
Si bien, en cada una de las iteraciones, vamos a rellenar el elemento en el que estemos. Para
leer los datos de la consola utilizaremos la clase Scanner. La clase Scanner la
instanciaremos al principio del programa:

En cada ciclo del bucle utilizamos el método .nextInt() de la clase Scanner para leer un
entero de teclado. Y directamente se lo asignamos a la matriz.

Ya solo nos quedará mostrar el contenido de la matriz para validar que coincide con el
insertado:

Algoritmo de Consultar
La idea es cargar una serie de elementos, en este caso cadenas de texto, dentro de un array y
luego buscar si hay uno de ellos presente dentro de dicho array o en caso contrario si no se
encuentra dentro de la lista de elementos de array.
Lo primero será crear un array Java con elementos. En este caso vamos a crear un array de
cadenas o String.
La forma de instanciar el array será la siguiente:
Los arrays en Java no tienen un método de búsqueda sobre ellos. Si bien las Listas en Java
sí que lo tienen. Así que lo que haremos será convertir el array en una lista mediante el
método [Link]().

Una vez que tenemos una lista ya podremos utilizar el método .contains() que nos permitirá
realizar la búsqueda del elemento en cuestión.

Lo que vamos a hacer es encapsular este código en un método al cual llamaremos


searchList () que reciba un array y la cadena a buscar. Dicho método devuelve un valor
booleano, true si el valor se encuentra en el array y false en el caso de no encontrarlo.

Ya solo nos quedará invocar al método searchList () pasándole el array que hemos creado
al principio de nuestro código y el valor que queremos buscar.
Quiebre de Control
La sentencia de 'break' es de tipo de control de bucles. Dentro de la iteración en un bucle,
de cualquiera de los tipos (while, do-while, for), el uso de esta sentencia rompe la iteración
de dicho bucle.

Este bucle debería ejecutarse 10 veces, desde j = 0 hasta j = 9, sin embargo, la utilización
de la sentencia break, rompe la iteración del bucle, de tal manera que tras la primera
ejecución el bucle acaba habiéndose ejecutado una sola vez.
Resulta útil la utilización de condiciones para la ruptura del bucle, de tal manera que un
código como el anterior indicado no sirve para nada. Recurrimos para ejemplificarlo al
ejemplo anterior de contar dígitos).
Pero en este caso queremos que cuente los dígitos de un número, pero solamente hasta
llegar a 5 dígitos, en caso de que tenga más dejaremos de contarlos:

Este programa cuenta los dígitos de un número y en caso de que dicho número tenga 5 o
más dígitos nos muestra por consola el mensaje "el número tiene 5 o más dígitos".
La línea "if (dígitos ==5) break;" cuya presencia hace que en caso de que el número haya
llegado a los 5 dígitos se rompa la iteración del bucle.
No obstante, este resultado puede conseguirse de igual forma con el siguiente programa:

donde, como puede verse, no hace falta hacer uso de break y además queda perfectamente
definida la condición de salida del bucle en un solo lugar, junto a la palabra while. Debe
tenerse en cuenta que el uso y abuso de break puede dar lugar a código engorroso, difícil de
mantener.
ArrayList
ArrayList es una clase contenedora genérica que implementa arrays dinámicos de objetos
de cualquier tipo. De forma general un ArrayList en Java se crea de la siguiente forma:

ArrayList nombreArray = new ArrayList(); Esta instrucción crea el ArrayList nombreArray


vacío. Un arrayList declarado así puede contener objetos de cualquier tipo.
Por ejemplo:

Los elementos del arrayList a son:


“Lenguaje” 2 ‘a’ 23.5
Es decir, un ArrayList puede contener objetos de tipos distintos.
En este ejemplo, el primer objeto que se añade es el String “Lenguaje”.
El resto no son objetos. Son datos de tipos básicos pero el compilador los convierte
automáticamente en objetos de su clase envolvente (clase contenedora o wrapper) antes de
añadirlos al array.
Un array al que se le pueden asignar elementos de distinto puede tener alguna complicación
a la hora de trabajar con él.
Por eso, una alternativa a esta declaración es indicar el tipo de objetos que contiene. En este
caso, el array solo podrá contener objetos de ese tipo.
De forma general:

Ejemplo:
Matrices
Una matriz es un arreglo bidimensional que está formada por filas y por columnas que se
utiliza para almacenar datos y/o información en cada campo que la compone. En esta
entrada aprenderemos como funciona y como utilizarla.
Una matriz si la representáramos en un dibujo sería de la siguiente manera:
public static void main(String[] args) {

final int FILAS = 3;


final int COLUMNAS = 5;
char[][] letras = new char[FILAS][COLUMNAS];
char letraQueToca = 'A';
Programa que genera una matriz representando un triángulo invertido alineado a la derecha
realizado con asteriscos, cuyo tamaño será especificado por el usuario. La matriz será
mostrada en pantalla finalmente.
Por ejemplo, si se indica el tamaño 5 deberá aparecer:
public static void main(String[] args) {
Glosario

 Arrays: Es un grupo de variables llamadas elementos o componentes que contienen


variables las cuales son de un mismo tipo.

 Modelar: Es el proceso de documentar un diseño de sistema de software complejo.

 Almacenar: Guardar cosas en un almacén u otro lugar, generalmente de forma


ordenada, para poder disponer de ellas cuando se necesite o convenga.

 Unidimensionales: Tiene una sola dimensión.

 Bidimensionales: Tiene dos dimensiones.

 Clase: Es una plantilla para la creación de objetos de datos según un modelo


predefinido

 Instanciar: Se llama instancia a todo objeto que derive de algún otro.

 Iteraciones: Permiten repetir una sentencias o conjunto de ellas.

 Método: s una subrutina cuyo código es definido en una clase y puede pertenecer
tanto a una clase.

 Encapsular: Es el ocultamiento del estado.

 Bucle: Es una estructura iterativa que ejecuta repetidas veces una serie de
instrucciones hasta que la condición deja de cumplirse.

 Genérica: Está mucho más centrada en los algoritmos que en los datos.

 Dinámicos: Es un lenguaje de programación en el que las operaciones realizadas en


tiempo de compilación pueden realizarse en tiempo de ejecución

 Compilador: Un programa que traduce código fuente escrito en un lenguaje de alto


nivel como Java, a un lenguaje legible por la máquina llamado código objeto,
lenguaje de destino o incluso lenguaje ensamblador.

Bibliografía
 Algoritmos de ordenación y búsqueda - Estructuras de Datos en Java. (n.d.).
Retrieved August 22, 2020, from
[Link]
arreglos/algoritmos-de-ordenacion-y-busqueda.

 Buscar en un Array - Línea de Código. (n.d.). Retrieved August 22, 2020, from
[Link]

 Cargar una matriz por teclado en Java - Línea de Código. (n.d.). Retrieved August
22, 2020, from [Link]
java/

 García, M. E. (n.d.). Arreglos: Vectores y Matrices SESION 4. se es un arreglo


bidimensional crean de forma está formada similar que a los por arrays
unidimensionales filas columnas lase y que se utiliza para almacenar datos MATRIZ
22

 Inicializar un array en Java - Línea de Código. (n.d.). Retrieved August 22, 2020,
from [Link]

 Leer los valores de un array desde el teclado en Java | Tutorial de Java |


[Link]. (n.d.). Retrieved August 22, 2020, from
[Link]

 Ordenamiento de Vectores. (n.d.). Retrieved August 22, 2020, from


[Link]

 Programación en Java/Sentencia break - Wikilibros. (n.d.). Retrieved August 22,


2020, from [Link]

También podría gustarte