Sobes.tech
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.
  • Map nav mantoja no Collection interfeisa. 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();
    // ...
}