Junior
Meséljen a Java Map gyűjteményről és jellemzőiről.
sobes.tech MI
Válasz az MI-től
Map — a Java Collection Framework egyik interfésze, amely egy "kulcs-érték" párokat tartalmazó gyűjteményt képvisel. A kulcsok egyediek, az értékek ismétlődhetnek.
Fő jellemzők:
- A kulcsot használjuk a megfelelő érték eléréséhez.
- Egy kulcsot nem lehet kétszer hozzáadni. Ha egy meglévő kulcsot próbálunk hozzáadni, a régi érték felülíródik az újszerűvel.
- A
Mapnem öröklődik aCollectioninterfésztől. Saját módszerei vannak a "kulcs-érték" párok kezelésére. - A "kulcs-érték" párok sorrendje változhat a konkrét implementációtól függően.
Népszerű Map implementációk:
HashMap: Nem garantálja az elemek sorrendjét. Magas teljesítményt nyújt a legtöbb műveletnél (beszúrás, lekérés, törlés) hash konfliktusok hiányában.LinkedHashMap: Az elemek hozzáadásuk sorrendjében tárolja (vagy hozzáférési sorrendben, ha így van konfigurálva).TreeMap: Rendezett sorrendben tárolja az elemeket a kulcs szerint (természetes sorrend vagy összehasonlító által biztosított). Logaritmikus időt biztosít a legtöbb művelethez.
Példák módszerekre:
// Érték lekérése kulcs alapján
Object value = map.get(key);
// Párok hozzáadása vagy frissítése
Object oldValue = map.put(key, value);
// Párok törlése kulcs alapján
Object removedValue = map.remove(key);
// Ellenőrzés, hogy létezik-e a kulcs
boolean containsKey = map.containsKey(key);
// Ellenőrzés, hogy létezik-e az érték
boolean containsValue = map.containsValue(value);
// Az összes kulcs halmazának lekérése
Set<KeyType> keys = map.keySet();
// Az összes érték gyűjteményének lekérése
Collection<ValueType> values = map.values();
// Az összes bejegyzés (kulcs-érték párok) halmazának lekérése
Set<Map.Entry<KeyType, ValueType>> entries = map.entrySet();
// A Map méretének lekérése
int size = map.size();
Map.Entry használata iteráció során:
// Entry set iterálása
for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) {
KeyType key = entry.getKey();
ValueType value = entry.getValue();
// ...
}