OPGELET: Bij het indienen wordt enkel getest of de code compileert.

Het MailingList programma laat toe om de gegevens van personen (naam, voornaam en email) op te slaan. Bijkomende kan voor elke persoon aangegeven worden voor welke topics hij of zij is aangemeld.

Gegeven:

De klasse MailingListData:

Gevraagd:

Vraag 1 (1 punt)

Voeg een klasse MailingList toe met als instantievariabelen een ArrayList van MailingListData objecten met als naam list. De klasse heeft default constructor die de ArrayList initialiseert met een lege lijst.

Vraag 2 (1 punt)

Voeg een methode addMailingListData toe. Deze methode heeft een MailingListData object als argument en voegt dit object toe aan de instantantievariabele list.

Vraag 3 (2 punten)

Voeg een method getMailingListData toe met als parameters een String email. De methode zoekt in de list instantievariabele het MailingListData object op dat overeenkomt met het opgegeven email adres. Indien een object wordt gevonden wordt dit geretourneerd, indien er geen object wordt gevonden retourneert de methode null.

Vraag 4 (2 punten)

Voeg een methode aanpassenEmail toe met als parameters twee String objecten. De methode zoekt het MailingListData object op dat overeenstemt met het eerste String object en vervangt het emailadres van dit object door het tweede String object. Indien het email adres succesvol werd aangepast retourneert de methode true. Indien er geen overeenkomstig MailingListData object werd gevonden, retourneert de methode false.

Vraag 5 (2 punten)

Voeg een methode addTopic toe met als parameters twee String objecten. De methode zoekt het MailingListData object op dat overeenstemt met het eerste String object en voegt het tweede String object als topic toe. Indien topic succesvol werd toegevoegd, retourneert de methode true, indien geen topic werd toegevoegd false.

Vraag 6 (2 punten)

Voeg een methode printEmails toe met als parameter een String object. De methode print alle email adressen van MailingListData objecten die het meegegeven String object als topic hebben.

Vraag 7 (2 punten)

Voeg een methode printTopics toe. De methode print alle mogelijke topics van de MailingList af via de console.

Vraag 8 (2 punten)

Voeg een methode samenvatting toe. De methode print voor elke topic hoeveel personen er zich hebben aangemeld. Bijvoorbeeld:

MailingLijst
-------------
topic A ==> 4
topic B ==> 1
topic C ==> 3