Junior
Vertel over de Map-collectie in Java en de kenmerken ervan.
sobes.tech AI
Antwoord van AI
Map — is een interface in Java Collection Framework die een collectie van "sleutel-waarde"-paren voorstelt. Sleutels zijn uniek, waarden kunnen herhaald worden.
Belangrijkste kenmerken:
- De sleutel wordt gebruikt om toegang te krijgen tot de bijbehorende waarde.
- Dezelfde sleutel kan niet twee keer worden toegevoegd. Bij het proberen toe te voegen van een bestaande sleutel, wordt de oude waarde vervangen door de nieuwe.
Maperft niet van de interfaceCollection. Het heeft eigen methoden om te werken met "sleutel-waarde"-paren.- De volgorde van de "sleutel-waarde"-paren kan variëren afhankelijk van de specifieke implementatie.
Populaire implementaties van Map:
HashMap: Garandeert geen volgorde van de elementen. Biedt hoge prestaties voor de meeste operaties (invoegen, ophalen, verwijderen) bij afwezigheid van hash-conflicten.LinkedHashMap: Slaat de elementen op in de volgorde van toevoeging (of in toegang volgorde, indien correct geconfigureerd).TreeMap: Slaat de elementen op in gesorteerde volgorde op basis van de sleutel (natuurlijke volgorde of door een comparator). Biedt logaritmische tijd voor de meeste operaties.
Voorbeeldmethoden:
// Waarde ophalen op basis van sleutel
Object value = map.get(key);
// Paar sleutel-waarde toevoegen of bijwerken
Object oldValue = map.put(key, value);
// Paar verwijderen op basis van sleutel
Object removedValue = map.remove(key);
// Controleren of een sleutel bestaat
boolean containsKey = map.containsKey(key);
// Controleren of een waarde bestaat
boolean containsValue = map.containsValue(value);
// Alle sleutels verkrijgen
Set<KeyType> keys = map.keySet();
// Alle waarden verkrijgen
Collection<ValueType> values = map.values();
// Alle entries (sleutel-waarde paren) verkrijgen
Set<Map.Entry<KeyType, ValueType>> entries = map.entrySet();
// Grootte van de Map
int size = map.size();
Gebruik van Map.Entry bij iteratie:
// Iteratie over de Entry set
for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) {
KeyType key = entry.getKey();
ValueType value = entry.getValue();
// ...
}