5. ¿Qué ventajas y qué desventajas trajo el uso de la genericidad?
Las ventajas son que simplifica el código al no tener que utilizar casting, evita errores por combinar
diferentes tipos y hace el código más fácil de leer e implementar. En sus desventajas está que no se
pueden instanciar tipos genéricos con tipos primitivos, no se pueden crear listas y no se pueden declarar
atributos estáticos a un parámetro de tipo.
6. ¿En qué casos tiene sentido usar cada una de las interfaces Set, List, Map y Collection?
Tiene sentido utilizarlas en los casos en los que sea necesaria la implementación de las estructuras de
datos. Para Set; en caso de que se quiera implementar un conjunto con elementos no repetidos y sin
orden, List; para crear una interfaz de lista capaz de hacer cosas muy similares a una lista a en Python:
buscar elementos por posiciones con get(), reemplazar elementos con set(), entre otros, Map; para una
estructura de datos con llaves y valores y Collection; es una interfaz básica que heredan los otros
frameworks, sirve para añadir, quitar, comparar y contar elementos.