Está en la página 1de 10

APELLIDOS Y NOMBRES NOTA

Yaguno Huamaní Ángel Eduardo

GRUPO: B FECHA: 09/06/2023

LABORATORIO 12: COLECCIONES

I. OBJETIVOS

​ El objetivo del laboratorio "Colecciones de Java" es introducir a los estudiantes a las


estructuras de datos de colecciones en Java.
​ Los estudiantes aprenderán cómo almacenar y manipular conjuntos de objetos utilizando
las colecciones de Java.
​ Este laboratorio tiene como objetivo mejorar la comprensión de los estudiantes sobre el
uso y las características de las estructuras de datos de colecciones en Java.
II. SEGURIDAD

​ En este laboratorio está prohibida la manipulación del hardware, conexiones eléctricas o


de red; así como la ingestión de alimentos o bebidas.
​ Es importante seguir las buenas prácticas de programación acorde a los estándares de
codificación y convención de nombres.
III. FUNDAMENTO TEÓRICO

​ Java es un lenguaje de programación que proporciona una amplia gama de estructuras


de datos de colecciones, que permiten a los programadores almacenar, manipular y
organizar datos de manera eficiente y flexible. Estas estructuras de datos son útiles en
diversas situaciones, como la manipulación de grandes conjuntos de datos o la
implementación de algoritmos complejos.
​ Las colecciones de Java se definen a través de interfaces y clases, que proporcionan
diferentes características y funcionalidades. Algunas de las estructuras de datos de
colecciones más utilizadas en Java incluyen ArrayList, HashSet, TreeMap y
PriorityQueue, cada una de las cuales tiene sus propias ventajas y desventajas. En
general, las colecciones de Java permiten a los programadores escribir código más
legible y mantenible, y son una parte fundamental de la programación en Java.
​ Para mayor información revise la documentación desarrollada en clases en la semana 07,
revise los materiales adicionales publicados en su Canvas en la semana 08.
3.1. Uso de Cuadros de Diálogo (Métodos)

3.1.1. showOptionDialog(): podríamos decir que gracias a este método podemos obtener un
cuadro de diálogo ajustado a nuestra necesidad, ya que es totalmente configurable.
Parámetros:
* componentePadre = el objeto que indica de qué componente es hijo.
* objetoMensaje = un String que corresponde al texto a mostrarse como mensaje.
* Titulo = String que se establecerá como título de la ventana.
* TipoDeOpcion = es un entero, representado por unas constantes que definen qué
opciones tendrá el cuadro de diálogo. Puede ser: DEFAULT_OPTION, YES_NO_OPTION,
YES_NO_CANCEL_OPTION, YES_CANCEL_OPTION.
* TipoDeMensaje: entero que determina el tipo de mensaje (ERROR_MESSAGE,
PLAIN_MESSAGE por ejemplo).
* Icono = la imagen que acompañará al mensaje, si no se especifica (es decir, se
pasa null) se establecerá uno por defecto de acuerdo al tipoDeMensaje.
* Opciones = un array tipo Object que indica las opciones posibles, normalmente debe ser
coherente con el tipoDeOpcion elegido.
* ValorInicial = es la opción predeterminada, deberá ser una de las opciones introducidas
en el array de opciones. Puede ser null.
Ejemplo:
- Sintaxis:
int seleccion = JOptionPane.showOptionDialog(btn_Option, "Este es un cuadro de dialogo Option",
"showOptionDialog", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null, new Object[] {"Si", "No","Cancelar"}, "Si");
Retorna un entero que corresponde a la opción seleccionada por el usuario, como sabrán, el valor
del entero corresponde a la posición que ocupa la opción en el array es decir si se selecciona "No"
devolverá 1 (uno) , ya que la primera posición de un array es 0 (cero).
- Resultado:

3.1.2. showInputDialog(): sirve para mostrar una ventana que permita ingresar datos
(una cadena, texto, números, etc.). Los parámetros que puede recibir son los mismos que
los del MessagaDialog.
Ejemplo:
- Sintaxis:
String texto = JOptionPane.showInputDialog (this, "Ingrese un texto: ",
"showInputDialog",JOptionPane.INFORMATION_MESSAGE);
- Resultado:
Nota: Cuando lo que se va a ingresar es un número, se debe realizar una conversión
(toString) para poder utilizarlo como tal. Por ejemplo:
int numero = Integer.parseInt(JOptionPane.showInputDialog (this, "Ingrese un número: ",
"showInputDialog",JOptionPane.INFORMATION_MESSAGE));
Pero esto debemos controlar que se escriban sólo número para que no arroje errores en
la conversión, podríamos solucionar tan sólo encerrándolo en un try-catch
3.1.3. showMessageDialog(): muestra un cuadro de diálogo al usuario, normalmente de carácter
informativo, como mínimo recibe 2 parámetros: el componente padre (que puede ser null) y una
cadena de caracteres que corresponde al mensaje a ser mostrado. También puede recibir como
parámetro una cadena que irá como título del cuadro y el tipo de mensaje a mostrarse
(determinado por una constante de la clase JOptionPane).
Parámetros:
* Component componentePadre: el componente al que pertenece.
* Object mensaje = es el objeto que corresponde al mensaje (texto) a mostrarse.
* String titulo = texto que será el título del cuadro de diálogo.
* int tipoDeMensaje = definido por una constante de la clase JOptionPane
Sintaxis:
JOptionPane.showMessageDialog(this, "Este es un mensaje simple");
Aquí se le envía como componente padre el objecto actual; es interesante esta práctica ya que de
esta manera el formulario se bloqueará mientras esté abierto el cuadro de mensaje, impidiendo
que se efectúen otras acciones, en cambio si se le pasa null en vez de un objeto el formulario
(padre) al que pertenece estará disponible para otras acciones (lo que estaría incorrecto).
Resultado:

Sintaxis:
JOptionPane.showMessageDialog(this, "Este es un mensaje detallado", "éxito!",
JOptionPane.INFORMATION_MESSAGE);
Como se puede ver, lo diferente está en que se le pasan dos argumentos más a parte del
componente padre y del mensaje a mostrarse, el tercer parámetro es lo que se situará como título
del cuadro de diálogo y el último parámetro es la constante que define el tipo de mensaje a ser
mostrado.
Resultado:

Constantes de JOptionPane: los mensajes pueden ser de tipo informativo


(INFORMATION_MESSAGE), de error (ERROR_MESSAGE), de advertencia
(WARNING_MESSAGE), mensaje plano (PLAIN_MESSAGE) o mensaje interrogativo
(QUESTION_MESSAGE) aunque el uso de este último tipo de mensaje no tiene mucho sentido
para este caso.
Ejemplos

IV. NORMAS EMPLEADAS

​ Se debe seguir la convención de nomenclatura de Java al nombrar las clases, interfaces


y métodos.
​ Se debe asegurar que se manejen excepciones de forma adecuada para evitar errores y
vulnerabilidades.
V. RECURSOS

​ Se pueden utilizar recursos en línea como Oracle Java Tutorials y JavaWorld para
comprender el concepto de polimorfismo e interfaces en Java.
​ En el presente informe se proporciona un ejemplo de codificación resuelto que servirá
como guía para que el estudiante desarrolle los programas propuestos.

VI. METODOLOGÍA PARA EL DESARROLLO DEL LABORATORIO


​ Se debe revisar el material desarrollado en la sesión de teoría.
​ Se debe digitar los ejemplos resueltos para verificar su funcionalidad.
​ El alumno puede avanzar el laboratorio en casa y en clases puede solucionar los errores con el
docente.
​ Culminado el desarrollo del laboratorio coloque las capturas de pantalla de los programas
desarrollados (todos los códigos) y captura de pantalla de la salida de compilación (output).
VII. PROCEDIMIENTO
7.1. Creación de Programa

Elabore un programa que solicite al usuario elegir entre 3 opciones (Agregar, Listar y Salir).

​ Agregar: El programa solicita al usuario ingresar la dirección IP, tipo y estado del
dispositivo, luego cree un objeto con los elementos mencionados, el objeto instanciado
debe ser almacenado en una lista (no importa si se repite el dato, pero si importa el orden).
​ Listar: El programa mostrara todas las direcciones IP, tipo y estado de todos los elementos
en la lista mediante un mensaje.
​ Salir: El programa finaliza y termina la ejecución del programa.
Nota: El programa debe ejecutarse hasta que se seleccione la opción de salir. Utilizar
JOptionPane para ingresar y mostrar información.

Importación de clase JOptionPane (En el modulo Java.desktop en el paquete javax.swing)

import javax.swing.JOptionPane;

Componente que muestra un conjunto de opciones

int opcion = JOptionPane.showOptionDialog(null, "Seleccione una opción", "Redes de Computadoras",


JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, new String[] {"Agregar", "Buscar",
"Listar", "Salir"}, null);

Componente que registra una variable

String nombre_variable = JOptionPane.showInputDialog("Ingrese un dato”);

Componente que muestra un mensaje


JOptionPane.showMessageDialog(null, "El dispositivo ha sido agregado correctamente");
7.2. Creación de Programa (Propuesto)

Elabore un programa que solicite al usuario elegir entre 3 opciones (Agregar, Listar y Salir).

​ Agregar: El programa solicita al usuario ingresar los datos de los alumnos de un colegio
(nombre, apellido, turno y curso, luego cree un objeto con los elementos mencionados, el
objeto instanciado debe ser almacenado en una lista (no importa si se repite el dato, pero
si importa el orden).
​ Listar: El programa mostrara todas los datos de los alumnos en la lista mediante un
mensaje.
​ Salir: El programa finaliza y termina la ejecución del programa.
Nota: El programa debe ejecutarse hasta que se seleccione la opción de salir. Utilizar
JOptionPane para ingresar y mostrar información.

También podría gustarte