Le but de cet exercise est d'écrire deux classes
ImmutableIntersectionSet et
MutableIntersectionSet qui sont des vus de deux sets qui ne montre que
les élements communs aux deux ensembles, la différences entre les deux classes est
que la première n'est pas mutable alors que la seconde l'est.
Pour vous aidez, on considera que les ensembles ne peuvent jamais contenir
null.
-
Déclarer la classe ImmutableIntersectionSet en tant que classe interne de la classe Sets,
celle-ci ne devra pas être visible de l'exterieur pour obliger l'utilisateur à utiliser la méthode
immutableIntersectionSet s'il veux creér un ImmutableIntersectionSet.
-
Modifier la signature de la méthode immutableIntersectionSet pour utiliser des types paramétrés.
-
Ecrire le code de la classe ImmutableIntersectionSet.
-
Penser à la complexité de la méthode contains, pouvez vous faire mieux ?
La réponse est oui, si le test unitaire correspondant plante.
-
Déclarer la classe MutableIntersectionSet en tant que classe interne de la classe Sets
et modifier la signature de la méthode mutableIntersectionSet.
-
Implanter les méthodes de la classe MutableIntersectionSet sachant qu'ajouter un élement
au MutableIntersectionSet revient à ajouter l'élement aux deux sets et que retirer un élements
au MutableIntersectionSet revient à retirer l'élement des deux sets.
Les tests unitaires suivant permettent de valider votre implantation :