Algoritmos ME - 4
Algoritmos ME - 4
UNIDAD Nº II
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.
Agregar
Eliminar
Buscar
Recorrer
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.
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)
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.
Los métodos permiten definir el comportamiento del objeto. Hay diferentes tipos de
métodos :
5
www.iplacex.cl
ArrayList de Objetos
6
www.iplacex.cl
Ventajas de usar ArrayList de Objetos
EJEMPLOS DE CÓDIGO
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.
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.
8
www.iplacex.cl
Se define el método agregarAfiliado con sus parámetros de entrada:
Se retorna el mensaje de
confirmación.
9
www.iplacex.cl
Definición Método Eliminar elemento
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.
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 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.
12
www.iplacex.cl
Definición Método Buscar elemento
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.
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.
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.
15
www.iplacex.cl
Generación de Constructores
Generación de Accesadores y
mutadores
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.
17
www.iplacex.cl
Método Eliminar Cliente
18
www.iplacex.cl
Método Buscar Cliente
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.
21
www.iplacex.cl
BIBLIOGRAFÍA
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