Sobes.tech
Junior

Rääkige Java Map kogumikust ja selle omadustest.

sobes.tech AI

Vastus AI-lt

Map — see on Java Collection Frameworki liides, mis esindab "võtme- väärtuse" paare kogu. Võtmed on unikaalsed, väärtused võivad korduda.

Peamised omadused:

  • Võti kasutatakse vastava väärtuse saamiseks.
  • Sama võti ei saa olla lisatud kaks korda. Kui lisada olemasolev võti, asendatakse vana väärtus uuega.
  • Map ei pärine Collection liidesest. Sellel on oma meetodid "võti- väärtus" paaride töötlemiseks.
  • "Võti- väärtus" paare võib järjekord erineda sõltuvalt konkreetse teostuse viisist.

Populaarsed Map teostused:

  • HashMap: ei garanteeri elementide järjekorda. tagab kõrge jõudluse enamikul operatsioonidel (lisamine, saamine, kustutamine) ilma konfliktideta.
  • LinkedHashMap: säilitab elemendid nende lisamise järjekorras (või juurdepääsujärjekorras, kui see on õigesti konfigureeritud).
  • TreeMap: säilitab elemendid sorteeritud järjekorras võtme järgi (looduslik järjekord või võrdleja abil). tagab logaritmilise aja enamikul operatsioonidel.

Näidismetoodid:

// Väärtuse saamine võtme järgi
Object value = map.get(key);

// Paari lisamine või uuendamine
Object oldValue = map.put(key, value);

// Paari kustutamine võtme järgi
Object removedValue = map.remove(key);

// Kontroll, kas võti on olemas
boolean containsKey = map.containsKey(key);

// Kontroll, kas väärtus on olemas
boolean containsValue = map.containsValue(value);

// Kõigi võtmete kogumi saamine
Set<KeyType> keys = map.keySet();

// Kõigi väärtuste kogumi saamine
Collection<ValueType> values = map.values();

// Kõigi kirje (võti- väärtus) paaride kogumi saamine
Set<Map.Entry<KeyType, ValueType>> entries = map.entrySet();

// Map-i suuruse saamine
int size = map.size();

Map.Entry kasutamine iteratsioonil:

// Iteratsioon Entry kogumi kaudu
for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) {
    KeyType key = entry.getKey();
    ValueType value = entry.getValue();
    // ...
}