23 junio, 2020

6. Clase ArrayList: métodos y operaciones variadas


LOGRO DE LA UNIDAD DE APRENDIZAJE

Al término de este post, ustedes utilizarán los métodos de la clase ArrayList para efectuar operaciones con objetos (ingresar, consultar, eliminar, modificar, listar entre otras). Utilizarán las clases BufferedReader, FileReader, PrintWriter, FileWriter y StringTokenizer para almacenar la data en archivos de texto.

TEMARIO

· Métodos de la clase ArrayList
· Operaciones con objetos
· Ejercicios + Link

ACTIVIDADES PROPUESTAS

· Ustedes emplean los métodos de la clase ArrayList para manipular un arreglo de objetos.
· Ustedes crean un mantenimiento.

1. CLASE ARRAYLIST

Métodos de la clase ArrayList

Esta Clase dispone de diversos métodos para manipular una colección de objetos dinámicamanete. 

Para crear un ArrayList, se utiliza la siguiente instrucción:
ArrayList <nombre_clase> var_referencia = new ArrayList < nombre_clase > ();

Ejemplo:
ArrayList <Producto> prod = new ArrayList <Producto> ();

prod es un objeto de tipo ArrayList que va a manipular un arreglo de objetos de tipo Producto.

Es necesario importar el paquete:
java.util.ArrayList;


2. Operaciones con objetos

a) Operaciones de mantenimiento:

Empleando la clase ArrayList realice un mantenimiento de productos. Para ello, implemente las clases Producto, ArregloProductos y Principal.

Paso 1
Diseñe la clase Producto en el paquete semana8 que tenga como atributos privados los siguientes datos: código, descripción, precio unitario y stock. Implemente métodos de acceso set/get


Paso 2
Diseñe la clase ArregloProductos en el paquete semana8 que tenga como atributo privado un objeto de tipo ArrayList; luego, implemente los siguientes métodos:

- Un constructor sin parámetros que cree el objeto ArrayList
- Un método adicionar que reciba un producto y lo adicione al ArrayList
- Un método eliminar que reciba un producto y lo elimine del ArrayList
- Un método obtener que reciba una posición y retorne el producto de esa posición
- Un método buscar que reciba un código y retorne el producto con ese código
- Un método tamaño que retorne la cantidad de productos ingresados al ArrayList
- Un método mayorprecio que retorne el producto más caro
- Un método menorprecio que retorne el producto más barato


Paso 3
Una vez desarrollada las clases Producto y ArregloProductos, implemente los siguientes métodos del programa principal: ingreso, consulta, modificación, eliminación y listado.

En todo momento, el programa mostrará un listado como el siguiente:

Código Descripción P_Unitario Stock
901 Lavadora 600 10
902 Equipo 450 12
903 Refrigerador 1550 8
---------------------------------------------------------------------------------
Total de Productos : 3
Producto más caro : 1550
Producto más barato : 450

GUI:




Clase Principal:




En el mantenimiento, hemos visto que para realizar la opción de modificación se han utilizado los métodos de acceso set para modificar los atributos de un producto. A continuación, se muestra otra forma de obtener los mismos resultados:

Agregue los siguientes métodos en la clase ArregloProductos


En la clase Principal, sustituya el método modificar por el siguiente:


Esta segunda forma consiste en reemplazar el nuevo objeto de tipo Producto por el anterior.

b) Operaciones variadas:

En la clase Principal, implemente los siguientes métodos:

1) Diseñe un método que muestre los productos que empiecen con la letra ‘m’ cuyo
precio unitario se encuentre en el rango de precios ingresados desde la GUI.
2) Diseñe un método que muestre los productos que terminen con la letra ‘a’ cuyo
stock sea cero.
3) Diseñe un método que disminuya en 10% el precio unitario de aquellos productos
cuyo stock sea mayor a 100.
4) Diseñe un método que elimine a los productos cuyo stock sea menor al stock ingresado desde la GUI.


Descargar ejercicios
Descargar archivo

Preguntas
¿Qué es un ArrayList? 
¿Cómo se crea un ArrayList? 
¿Cómo inicializar un ArrayList?
Operaciones variadas en un ArrayList

No hay comentarios, ¡cuéntame algo!

Me gustaría saber tu opinión. ¡Saludos!