Junior
Pastāstiet par Map kolekciju Java un tās īpašībām.
sobes.tech AI
Atbilde no AI
Map — tas ir Java Collection Framework interfeiss, kas pārstāv "atslēgas-vērtības" pāru kolekciju. Atslēgas ir unikālas, bet vērtības var atkārtoties.
Galvenās īpašības:
- Atslēga tiek izmantota, lai piekļūtu atbilstošajai vērtībai.
- Viena un tā pati atslēga nevar tikt pievienota divreiz. Mēģinot pievienot esošu atslēgu, vecā vērtība tiek aizstāta ar jauno.
Mapnav mantoja noCollectioninterfeisa. Tam ir savi metodes "atslēga-vērtība" pāriem darbam.- "Atslēga-vērtība" pāru kārtība var atšķirties atkarībā no konkrētās realizācijas.
Populāras Map realizācijas:
HashMap: nenodrošina elementu kārtību. nodrošina augstu veiktspēju lielākajai daļai operāciju (ievietošana, iegūšana, dzēšana) bez konfliktiem.LinkedHashMap: saglabā elementus to pievienošanas kārtībā (vai piekļuves kārtībā, ja tas ir konfigurēts atbilstoši).TreeMap: saglabā elementus sakārtotā secībā pēc atslēgas (dabiska secība vai salīdzinātāja nodrošināta). nodrošina loģaritmisku laiku lielākajai daļai operāciju.
Piemēru metodes:
// Iegūt vērtību pēc atslēgas
Object value = map.get(key);
// Pievienot vai atjaunināt pāri
Object oldValue = map.put(key, value);
// Dzēst pāri pēc atslēgas
Object removedValue = map.remove(key);
// Pārbaudīt, vai ir atslēga
boolean containsKey = map.containsKey(key);
// Pārbaudīt, vai ir vērtība
boolean containsValue = map.containsValue(value);
// Iegūt visus atslēgu kopu
Set<KeyType> keys = map.keySet();
// Iegūt visas vērtības
Collection<ValueType> values = map.values();
// Iegūt visus ierakstus (atslēga-vērtība pāri)
Set<Map.Entry<KeyType, ValueType>> entries = map.entrySet();
// Iegūt `Map` izmēru
int size = map.size();
Izmantojot Map.Entry iterācijai:
// Iterācija pa Entry kopu
for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) {
KeyType key = entry.getKey();
ValueType value = entry.getValue();
// ...
}