0% encontró este documento útil (0 votos)
70 vistas

Algoritmos ME - 4

Este documento presenta los conceptos básicos de ArrayList de objetos en Java. Explica cómo definir una clase, agregar un ArrayList de objetos a la clase, e implementar operaciones comunes como agregar, eliminar, buscar y listar elementos del ArrayList usando métodos. Proporciona ejemplos de código para ilustrar cada operación.
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
70 vistas

Algoritmos ME - 4

Este documento presenta los conceptos básicos de ArrayList de objetos en Java. Explica cómo definir una clase, agregar un ArrayList de objetos a la clase, e implementar operaciones comunes como agregar, eliminar, buscar y listar elementos del ArrayList usando métodos. Proporciona ejemplos de código para ilustrar cada operación.
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 PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 24

ALGORITMOS Y ESTRUCTURAS DE DATOS

UNIDAD Nº II

Estructuras Estáticas De Almacenamiento De Datos: Arreglos


SEMANA 4

INTRODUCCIÓN
En esta semana, comenzaremos haciendo un repaso de los conceptos aprendidos
anteriormente que utilizaremos en esta unidad. Repasaremos el concepto de
Objeto y Clase, porque los relacionaremos con los ArrayList.
Durante la semana anterior, aprendiste el uso de ArrayList. Conociste su sintaxis,
métodos predefinidos y las ventajas que presentan respecto de los arreglos. En
esta unidad profundizaremos en el uso de ArrayList como elemento contenedor
de objetos. Esto permite crear aplicaciones de gran potencia debido a su gran
flexibilidad.
La sintaxis de los ArrayList de objetos, es particular, por lo que desarrollaremos
varios ejemplos de código para que te familiarices con ella.
Conocerás las operaciones básicas que se pueden realizar como agregar,
eliminar, buscar y recorrer ArrayList. Y teniendo eso como base, veremos algunos
ejemplos de operaciones personalizadas.

2
www.iplacex.cl
IDEAS FUERZA
• Repasar el concepto de Clase y Objeto.

• Retomar el concepto de ArrayList y vincularlo con Clases y Objetos.

• Mostrar la sintaxis del uso de ArrayList de objetos

• Mostrar con ejemplos de código las 4 operaciones básicas:

 Agregar

 Eliminar

 Buscar

 Recorrer

• Desarrollar métodos personalizados

• Llevar estos conceptos a código de programación mediante la resolución de


casos simples.

3
www.iplacex.cl
Desarrollo
Repaso concepto Clase

Recordemos que una Clase es un molde que nos permite crear objetos. Con ella
podemos realizar una abstracción de la realidad que se quiere modelar.

Las clases están formadas por atributos, constructores y métodos.

- Atributos de una Clase

Los atributos determinan los elementos o características que tendrán los objetos
pertenecientes a una clase.

En este código se observan los atributos rut, nombre, apellido y sueldo. Estos
atributos tienen visibilidad private, lo que significa que solo son visibles desde la
misma clase. Los atributos pueden ser de distintos tipos de datos, en este caso int
(Entero) y String (Texto)

- Constructores de una Clase

4
www.iplacex.cl
Un constructor permite instanciar un nuevo objeto a partir de la clase. Los
constructores pueden tener cero o más parámetros.

- Métodos de una Clase

Los métodos permiten definir el comportamiento del objeto. Hay diferentes tipos de
métodos :

• Existen los métodos accesadores y mutadores que permiten la lectura y


modificación de los atributos del objeto.

• Existen los métodos personalizados, en los cuales se pueden definir los


comportamientos del objeto.

5
www.iplacex.cl
ArrayList de Objetos

Un ArrayList de Objetos es una colección donde cada casilla guarda un objeto de


una Clase.

Los ArrayList de Objetos comienzan con el índice 0 en la primera casilla al igual


que los arreglos.

Definición de ArrayList de Objetos

El ArrayList se define como atributo de la Clase, señalando el tipo de objetos que


almacenará. La inicialización del ArrayList de objetos debe realizarse en el
constructor de la Clase.

6
www.iplacex.cl
Ventajas de usar ArrayList de Objetos

Entre las ventajas de usar ArrayList de Objetos se encuentran las siguientes:

• Permite almacenar en un objeto una colección de datos de otra clase.

• Permite simular en memoria una base de datos.

• Permite realizar aplicaciones que resuelvan problemáticas más complejas.

Operaciones con ArrayList de Objetos

Los ArrayList de Objetos permiten realizar diversas operaciones:

• Se pueden implementar operaciones de inserción, búsqueda, listado y


eliminación de objetos.

• Se pueden implementar adicionalmente métodos personalizados sobre los


objetos.

EJEMPLOS DE CÓDIGO

Definición de ArrayList de Objetos

En este ejemplo definiremos un ArrayList de Objetos de tipo “Afiliado”, para


almacenar la lista de afiliados a una AFP.

7
www.iplacex.cl
En primer lugar, debemos recordar importar la librería que permitirá trabajar con
los métodos de ArrayList. Para ello usamos el código: import java.util.ArrayList;
Dentro de la clase AFP se define un atributo del tipo ArrayList de objetos llamado
listaAfiliados. Tiene una visibilidad private por lo cual es accesible solo desde
dentro de la clase.

El ArrayList de objetos se inicializa dentro del constructor sin parámetro de la


clase.

De este modo, cada vez que se instancie un objeto de esta clase (AFP),
automáticamente se creará una lista de afiliados para dicho objeto.

Definición Método Agregar elementos

Para agregar elementos al ArrayList de afiliados a una AFP usaremos el siguiente


código:

8
www.iplacex.cl
Se define el método agregarAfiliado con sus parámetros de entrada:

• Int rut : representa el rut del afiliado en formato número entero

• String nombre: representa el nombre del afiliado en formato texto

• String apellido: representa el apellido del afiliado en formato texto

• Int sueldo: representa el sueldo del afiliado en formato número entero

El método agregarAfiliado retorna un String el cual es un mensaje de confirmación


y tiene visibilidad public, que significa que puede ser accedido desde otras clases.

Se genera un objeto afil que va a


permitir guardar los valores que
recibe el método agregarAfiliado.

Se agregan los valores de los


parámetros del método en el
objeto afil.

Se agrega el objeto afil a la lista


de afiliados que representa el
ArrayList de objetos.

Se retorna el mensaje de
confirmación.

9
www.iplacex.cl
Definición Método Eliminar elemento

Para eliminar elementos del ArrayList de afiliados a una AFP usaremos el


siguiente código:

Se define el método eliminarAfiliado con un parámetro de entrada:

• int rut: representa el rut del afiliado en formato número entero.

El método eliminarAfiliado retorna un String el cual es un mensaje de confirmación


y tiene visibilidad public, que significa que puede ser accedido desde otras clases.

La variable msj se inicializa en un valor por defecto, el que indica que el afiliado no
se encontró.

10
www.iplacex.cl
El siguiente código muestra un ciclo que recorre listaAfiliados y para cada objeto
que obtiene del ArrayList utiliza un condicional que compara los ruts.

Si el rut del objeto extraído del ArrayList es igual al rut que el método eliminar
obtuvo por parámetro, significa que encontró el objeto que se desea eliminar,
removiéndolo y actualizando el valor de la variable msj. En caso contrario sigue
con la búsqueda.

Finalmente, se retorna el mensaje de confirmación.

Definición Método Listar Elementos

Para mostrar el listado de elementos del ArrayList de afiliados usaremos el


siguiente código:

11
www.iplacex.cl
Se define el método listarAfiliado sin parámetros de entrada, ya que listará todos
los atributos de los objetos almacenados en el ArrayList.

El método listarAfiliado retorna un String el cual es una lista formateada de los


atributos de todos los objetos afiliados que están dentro del ArrayList. Tiene
visibilidad public, que significa que puede ser accedido desde otras clases.

Se define un contador i para poder indicar el número de objetos que se van a


imprimir. Se define un objeto StringBuilder para poder definir el formato de salida
de los atributos que se retornarán.

El ciclo for recorre listaAfiliados y va guardando en la variable afil cada objeto que
va leyendo. Luego se formatea la salida agregando los atributos al StringBuilder
mediante el método append; esto permitirá una salida ordenada de los atributos de
cada objeto incorporando los saltos de línea.

Se retorna la salida construida.

12
www.iplacex.cl
Definición Método Buscar elemento

Para buscar elementos en el ArrayList de afiliados usaremos el siguiente código:

Se define el método buscarAfiliado con su parámetro de entrada:

• int rut: representa el rut del afiliado en formato número entero

El método buscarAfiliado retorna un String el cual es una lista formateada de los


atributos del objeto afiliado buscado. Tiene visibilidad public, que significa que
puede ser accedido desde otras clases.

Se define un objeto StringBuilder para poder definir el formato de salida de los


atributos que se imprimirán.

13
www.iplacex.cl
El siguiente ciclo recorre listaAfiliados y tiene un condicional que compara el rut de
cada objeto con el rut del parámetro del método buscar. Cuando encuentra el rut,
formatea la salida agregando al StringBuilder mediante el método append, lo que
permitirá una salida ordenada de los atributos del objeto buscado incorporando los
saltos de línea.

Finalmente se retorna un string con los valores del objeto buscado.

Para ilustrar el uso de ArrayList como atributo de una Clase, haremos un ejercicio
que consiste en registrar los clientes de un banco. Crearemos un nuevo proyecto
en NetBeans, utilizando el lenguaje Java para la implementación del código.

Creación del Proyecto

En el menú de NetBeans, haz clic en File → New Project. En la ventana New


Project se selecciona Java en Categories, y en Projects la opción Java Application.
Luego haz clic en Next.

En la siguiente ventana le damos el nombre


EjemploArrayList al proyecto y establecemos
la ruta donde se guardará.

14
www.iplacex.cl
Creación Clase Cliente

Vamos a crear un ArrayList que represente una lista de clientes, para lo cual
primero debemos crear una nueva clase Cliente.

Haz click derecho en el package

ejemploArrayList → New → Java Class

En la ventana New Java Class,

en Class Name escribe Cliente,

luego presiona Finish.

Definición de Atributos en la Clase Cliente

Al interior de nuestra nueva Clase,


definiremos los atributos rut (int),
nombre (String), apellido (String), edad
(int) y sueldo (int).

15
www.iplacex.cl
Generación de Constructores

Generamos automáticamente los


constructores con y sin parámetros
para esta clase. Click derecho al
interior de la Clase → Insert Code →
Constructor La primera vez NO
marcamos ningún ticket. Repetimos
el proceso y la segunda vez
marcaremos todos los tickets.

Generación de Accesadores y
mutadores

Se generan automáticamente los


accesadores y mutadores de esta
clase. Para ello hacemos click
derecho al interior de la clase →
Insert Code... → Getter and
Setter… Marcamos TODOS los
tickets.

Generación del método


toString()

El método toString() lo
generamos igualmente de
manera automática. Para
ello hacemos click derecho
al interior de la clase →
Insert Code... → toString()…
Marcamos TODOS los
tickets.

16
www.iplacex.cl
Creación de Clase Banco

Crearemos una clase llamada banco que tendrá como atributo un ArrayList de
objetos de la clase Cliente. Haz click derecho en el package ejemploArrayList →
New → Java Class. En la ventana emergente, en el campo Class Name la
llamamos Banco.

Atributo ArrayList de la Clase Banco

Al interior de la clase Banco, definimos un atributo privado del tipo ArrayList de


Clientes:

La inicialización de este atributo se realiza al interior de un constructor sin


parámetros.

Método Agregar Cliente

Creamos el método agregarCliente para la lista de clientes implementado por el


atributo ArrayList:

17
www.iplacex.cl
Método Eliminar Cliente

Creamos el método eliminarCliente para la lista de clientes implementado por el


atributo ArrayList:

Método Listar Clientes

Creamos el método listarClientes para la lista de clientes implementado por el


atributo ArrayList:

18
www.iplacex.cl
Método Buscar Cliente

Creamos el método buscarCliente para la lista de clientes implementado por el


atributo ArrayList:

Lógica del Método Main

Codificamos el método Main, implementando un menú que permita crear un objeto


de la clase Banco y así poder ejecutar sus métodos. Se comienza creanlo las
variables y objetos que se utilizarán en el ciclo:

19
www.iplacex.cl
Luego, se presenta el menú al usuario e ingresa su opción. Finalmente se ejecuta
la acción solicitada:

20
www.iplacex.cl
CONCLUSIONES
De lo aprendido esta semana, podemos concluir que el uso de ArrayList como
estructura de datos contenedora de objetos, es una herramienta muy potente.

En primer lugar, las ventajas propias de los ArrayList que permiten guardar
grandes cantidades de datos en forma flexible, es decir adaptándose en la medida
que aumentan o disminuyen los datos. Y sumado a eso, la potencia propia de los
objetos.

Pero los ArrayList no solo tienen la flexibilidad de crecer y achicarse dependiendo


de la cantidad de elementos, sino que también tienen una serie de métodos ya
creados que permiten implementar muchas funcionalidades fácilmente. Así por
ejemplo, el método add, el método remove, size o get.

Y finalmente, la gran facilidad de crear métodos personalizados, ya que, con los


métodos predefinidos se facilita mucho su labor.

La principal conclusión de lo aprendido esta semana, es que al utilizar esta


herramienta se pueden crear aplicaciones que pueden manejar grandes
volúmenes de datos y con una variada gama de funcionalidades personalizadas
de forma fácil y rápida.

21
www.iplacex.cl
BIBLIOGRAFÍA

1. Programación orientada a objetos con Java/ David J. Barnes, Michael Kölling.


ISBN13: 9788483223505. Pearson 2008.

2. JAVA para estudiantes/Douglas Bell, Mike Parr. ISBN13: 9786073205573.


Pearson 2011. Edición: 6

3. Java 7 / Herbert Schildt. ISBN13: 978-84-415-3067-6. Anaya 2012

4. Java 2 : Curso de Programación / Francisco Javier Ceballos Sierra.ISBN978-84-


9964-032-7 RA-MA, 2010

5. Java 2 : Manual de Usuario y Tutorial / Agustín Froufe Quintas. ISBN 978-970-


15-1430-6 : Alfaomega, 2008

6. Head First Java/Kathy Sierra, Bert Bates. ISBN:978-0-596-00920-5. O'Reilly


Media

http://www.eumed.net/libros-gratis/ciencia/2012/12/arreglos-cadenas.html

https://universidad-de-los-andes.gitbooks.io/fundamentos-de-
programacion/content/Nivel3/4_ContenedorasDeTama%C3%B1oFijo.html

22
www.iplacex.cl
23
www.iplacex.cl
24
www.iplacex.cl

También podría gustarte