Modulelessen (1/2)
Instellen en in kaart brengen
Naast de klasse ArrayList (die een geordende lijst met elementen vertegenwoordigt), biedt het Java Collections Framework nog twee andere fundamentele interfaces: Set (voor unieke elementen) en Map (voor sleutel-waarde-associaties).
Set: collecties van unieke elementen
Een Set is een verzameling die geen dubbele elementen mag bevatten. De meest gebruikelijke implementatie is HashSet, intern gebaseerd op een hashtabel, die uitstekende prestaties garandeert voor invoeg-, verwijderings- en aanwezigheidsverificatiebewerkingen.
import java.util.HashSet;
import java.util.Set;
Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present
System.out.println(uniqueNames.size()); // Prints 2Kaart: Sleutel-waarde-associaties
Een Map wijst unieke sleutels toe aan waarden. Het mag geen dubbele sleutels bevatten: elke sleutel is gekoppeld aan maximaal één waarde. De standaardimplementatie is HashMap.
import java.util.HashMap;
import java.util.Map;
Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25
// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns trueItereren over een kaart
Om sleutel-waardeparen te herhalen, kunnen we een for-each lus gebruiken op de set items (entrySet()) die door de kaart wordt geleverd.
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}Probeer het zelf
Voltooi de code door een HashSet van tekenreeksen met de naam items te declareren. Voeg de elementen 'apple', 'banaan' en 'apple' opnieuw toe en druk vervolgens de grootte van de set af met System.out.println.
Toon hint
Onthoud dat duplicaten niet zijn toegestaan in een `Set`, en `items.size()` zal het werkelijke aantal ingevoegde unieke elementen retourneren.
Oplossing beschikbaar na 3 pogingen
Voltooi de code door een HashMap met de naam Ages te declareren met String-sleutels en Integer-waarden. Koppel de sleutel 'Alice' aan 25 en de sleutel 'Bob' aan 30, haal vervolgens de leeftijd van Bob op en druk deze af.
Toon hint
Gebruik de `put`-methode om paren in te voegen en de `get`-methode om waarden op te halen op basis van sleutels.
Oplossing beschikbaar na 3 pogingen
Vul de code in door te controleren of de landenkaart de sleutel 'FR' bevat en druk het Booleaanse resultaat af.
Toon hint
Gebruik de methode `containsKey` voor het object `countries` om te controleren op de aanwezigheid van de vereiste sleutel.
Oplossing beschikbaar na 3 pogingen