Junior
Papaskinkite apie Map kolekciją Java ir jos ypatybes.
sobes.tech AI
Atsakymas iš AI
Map — tai Java Collection Framework sąsaja, kuri atstovauja porų "raktas-reikšmė" kolekciją. Raktai yra unikalūs, o reikšmės gali kartotis.
Pagrindinės savybės:
- Raktas naudojamas prieigos prie atitinkamos reikšmės gavimui.
- Vienas ir tas pats raktas negali būti pridėtas du kartus. Bandant pridėti esantį raktą, sena reikšmė pakeičiama nauja.
Mapnėra paveldėtas išCollectionsąsajos. Jame yra savo metodai "raktas-reikšmė" poroms dirbti.- "Raktas-reikšmė" porų tvarka gali skirtis priklausomai nuo konkrečios įgyvendinimo.
Populiarios Map įgyvendinimai:
HashMap: ner garantuoja elementų tvarką. užtikrina aukštą našumą daugumai operacijų (įterpimas, gavimas, ištrynimas) be konfliktų.LinkedHashMap: saugo elementus jų pridėjimo tvarka (arba prieigos tvarka, jei tai tinkamai sukonfigūruota).TreeMap: saugo elementus surūšiuotoje tvarko pagal raktą (natūrali tvarka arba pateiktas palyginimo funkcija). užtikrina logaritminį laiką daugumai operacijų.
Pavyzdiniai metodai:
// Gauti reikšmę pagal raktą
Object value = map.get(key);
// Pridėti arba atnaujinti porą
Object oldValue = map.put(key, value);
// Ištrinti porą pagal raktą
Object removedValue = map.remove(key);
// Patikrinti, ar yra raktas
boolean containsKey = map.containsKey(key);
// Patikrinti, ar yra reikšmė
boolean containsValue = map.containsValue(value);
// Gauti visų raktų rinkinį
Set<KeyType> keys = map.keySet();
// Gauti visų reikšmių rinkinį
Collection<ValueType> values = map.values();
// Gauti visų įrašų (raktas-reikšmė poros)
Set<Map.Entry<KeyType, ValueType>> entries = map.entrySet();
// Gauti `Map` dydį
int size = map.size();
Naudojant Map.Entry iteracijai:
// Iteracija per Entry rinkinį
for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) {
KeyType key = entry.getKey();
ValueType value = entry.getValue();
// ...
}