Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Enunciado:
a) Codifique un programa que lea direcciones web por pantalla y las almacene en una lista
(ArrayList) hasta que se escriba una url vacía. A continuación deberá mostrar por pantalla en el
mismo orden todas las direcciones web leídas. Si la url leída no es válida (ver constructor)
mostrará un mensaje avisando al usuario y seguirá pidiendo más direcciones.
b) Modifique el programa anterior para que se muestren por pantalla en orden inverso las
direcciones leídas recorriendo la lista al revés.
c) Modifique el programa anterior para que si el usuario escribe alguna dirección web repetida no
se almacene en la lista, solo mostrará un aviso al usuario indicándole que ya está incluida y
seguirá pidiendo direcciones (utilice una lista en este apartado). Debe añadir los métodos
necesarios (equals) a la clase DireccionWeb de forma que el método contains de las
colecciones funcione correctamente para utilizarlo en la solución.
d) Modifique el apartado c) y utilice una implementación de conjunto no ordenado (Set) para
almacenar la información en lugar de la lista. Debe añadir los métodos necesarios (hashCode) a
la clase DireccionWeb de forma que el conjunto funcione correctamente.
Observe que en este caso las direcciones puede que se muestren en pantalla en un orden
distinto al de inserción. ¿Por qué aparecen en ese orden?¿Se podría solucionar este problema?
e) Modifique el apartado c) y utilice una implementación de Mapa en la solución, donde la clave sea
solamente la url (clase String) y el valor asociado el objeto completo con la dirección web (clase
DireccionWeb). Utilice containsKey para comprobar si la clave ya existe en la solución. ¿Cómo
se obtendría una dirección web dada su url (clave)?
Página 1