Sobes.tech
Middle

Prečo kolekcia Map zaujíma v hierarchii kolekcií jedinečné miesto?

sobes.tech AI

Odpoveď od AI

Map nie je kolekcia v bežnom zmysle slova. Collection v Jave predstavuje skup objektov (prvkov). Avšak, Map ukladá páry "kľúč-hodnota", kde je každý kľúč jedinečný. To ju odlišuje od rozhraní, ktoré dedí z Collection (ako List, Set, Queue), ktoré pracujú s jednotlivými prvkami.

Hierarchia vyzerá takto:

  • Iterable
    • Collection
      • List
      • Set
      • Queue
    • Map

Map má svoje vlastné jedinečné metódy na prácu s pármi:

  • put(K key, V value)
  • get(Object key)
  • remove(Object key)
  • containsKey(Object key)
  • containsValue(Object value)
  • keySet() - vracia Set kľúčov
  • values() - vracia Collection hodnôt
  • entrySet() - vracia Set párov "kľúč-hodnota" (Map.Entry)

Príklad použitia:

// Vytvorenie HashMap
Map<String, Integer> studentScores = new HashMap<>();

// Pridanie prvkov
studentScores.put("Alice", 95);
studentScores.put("Bob", 88);
studentScores.put("Charlie", 95); // Hodnota sa môže opakovať, kľúč nie

// Získanie hodnoty podľa kľúča
int score = studentScores.get("Alice"); // 95

Takže, Map sa nachádza paralelne s Collection v hierarchii Iterable, pretože organizuje dáta iným spôsobom, založeným na pároch "kľúč-hodnota", a nie na skupine jednotlivých prvkov.