Estás en:   ArielOrtiz.com > Taller de certificación Java > SequentialMap

SequentialMap

Objetivos

Durante esta actividad:

Esta actividad promueve las siguientes habilidades, valores y actitudes: capacidad de resolver problemas, creatividad, y uso eficiente de la informática y las telecomunicaciones.

Descripción de la Actividad

De manera individual o en parejas, diseña y codifica una clase en Java llamada SequentialMap<K,V>, la cual debe implementar la interfaz java.util.Map<K,V>. Adicionalmente, se debe también implementar el método toString() tal como está documentado en la clase java.util.AbstractMap<K,V>.

Nota: Es muy importante seguir al pie de la letra el contrato de cada método tal como está descrito en la documentación del API de Java.

La implementación debe realizarse usando listas doblemente encadenadas. Cada pareja de llave/valor que se añada a un SequentialMap debe insertarse al final de la lista, a menos que la llave ya hubiese existido previamente, en cuyo caso sólo se modifica su valor asociado sin cambiar su posición dentro de la lista. Al iterar sobre un SequentialMap se devuelven los elementos en el mismo orden en que se encuentran dentro la lista.

Para aquellos métodos que devuelven un Set<E> o una Collection<E>, se permite definir clases anidadas que hereden de o deleguen a implementaciones concretas pre-existentes de dichas interfaces.

El funcionamiento correcto de cada método de la clase SequentialMap, incluyendo el de las clases anidadas auxiliares, debe ser adecuadamente verificado usando pruebas de unidad a través de JUnit. Coloca las pruebas de unidad en una clase llamada TestSequentialMap.

¿Qué se debe entregar?

Coloca los archivos SequentialMap.java y TestSequentialMap.java dentro de un archivo ZIP llamado mapa.zip. Dicho archivo debe ser enviado por el Sistema de Entrega de Tareas Automatizado.

Fecha límite: Lunes, 11 de abril.

IMPORTANTE: Los archivos fuente de Java deben incluir al inicio la información personal de los autores (nombre y matrícula) dentro de un comentario. Por ejemplo:

/*
 * ITESM CEM, 11 de abril, 2011.
 * Archivo fuente de Java
 * Actividad: SequentialMap
 * Autor: Steve Rogers, 449999
 */
        .
    	. (El resto del programa va aquí)
    	.

Evaluación

Esta actividad se evaluará usando los siguientes criterios:

-10 El programa no contiene los datos de los autores.
DA El programa es un plagio.
50 El programa no funciona correctamente, o termina de manera abrupta con un mensaje de error.
60-90 El programa funciona bien, pero contiene algunos errores u omisiones con respecto a lo que se especificó.
100 El programa funciona correctamente, tal como se solicitó.
© 1996-2011 por Ariel Ortiz Ramírez (ariel.ortiz@itesm.mx)
Desarrollado en Django | Licencia de Creative Commons | XHTML válido | CSS válido