Sobes.tech
Middle

Kodėl Map kolekcija užima unikalią vietą kolekcijų hierarchijoje?

sobes.tech AI

Atsakymas iš AI

Map nėra kolekcija įprasta prasme. Collection Java kalboje reprezentuoja objektų (elementų) grupę. Tačiau, Map saugo poras "raktas-reikšmė", kur kiekvienas raktas yra unikalus. Tai ją skiria nuo sąsajų, kurios paveldi iš Collection (pvz., List, Set, Queue), kurios dirba su atskirais elementais.

Hierarchija atrodo taip:

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

Map turi savo unikalius metodus darbui su poromis:

  • put(K key, V value)
  • get(Object key)
  • remove(Object key)
  • containsKey(Object key)
  • containsValue(Object value)
  • keySet() - grąžina Set raktų
  • values() - grąžina Collection reikšmių
  • entrySet() - grąžina Set porų "raktas-reikšmė" (Map.Entry)

Pavyzdys:

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

// Pridėti elementus
studentScores.put("Alice", 95);
studentScores.put("Bob", 88);
studentScores.put("Charlie", 95); // Reikšmė gali kartotis, raktas ne

// Gauti reikšmę pagal raktą
int score = studentScores.get("Alice"); // 95

Taigi, Map yra šalia Collection Iterable hierarchijoje, nes ji organizuoja duomenis kitaip, remiantis "raktas-reikšmė" poromis, o ne kaip atskirų elementų grupę.