Lecții din modul (1/2)
Setați și Hartă
Dincolo de clasa ArrayList (care reprezintă o listă ordonată de elemente), Java Collections Framework oferă alte două interfețe fundamentale: Set (pentru elemente unice) și Map (pentru asocieri cheie-valoare).
Set: colecții de elemente unice
O Set este o colecție care nu poate conține elemente duplicat. Implementarea sa cea mai comună este HashSet, bazată intern pe un tabel hash, care garantează performanțe excelente pentru operațiunile de inserare, eliminare și verificare a prezenței.
import java.util.HashSet;
import java.util.Set;
Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // This insertion will be ignored since "Alice" is already present
System.out.println(uniqueNames.size()); // Prints 2Hartă: asociații cheie-valoare
Un Map mapează chei unice la valori. Nu poate conține chei duplicate: fiecare cheie este asociată cu cel mult o valoare. Implementarea sa standard este HashMap.
import java.util.HashMap;
import java.util.Map;
Map<String, Integer> ageMap = new HashMap<>();
// Insert or update key-value pairs
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
// Retrieve value by key
int aliceAge = ageMap.get("Alice"); // Returns 25
// Verify if a key or value exists
boolean hasBob = ageMap.containsKey("Bob"); // Returns trueIterarea peste o hartă
Pentru a itera peste perechi cheie-valoare, putem folosi o buclă for-each pe setul de intrări (entrySet()) furnizat de hartă.
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
System.out.println(entry.getKey() + " is " + entry.getValue() + " years old.");
}Încercați-l singur
Completați codul declarând un HashSet de șiruri de caractere numite elemente. Adăugați din nou elementele „apple”, „banana” și „apple”, apoi imprimați dimensiunea setului folosind System.out.println.
Afișează indiciu
Amintiți-vă că duplicatele nu sunt permise într-un `Set`, iar `items.size()` va returna numărul real de elemente unice inserate.
Soluție disponibilă după 3 încercări
Completați codul declarând un HashMap numit vârste cu chei șiruri și valori întregi. Asociați cheia „Alice” cu 25 și cheia „Bob” cu 30, apoi preluați și imprimați vârsta lui Bob.
Afișează indiciu
Utilizați metoda `put` pentru a insera perechi și metoda `get` pentru a prelua valori bazate pe chei.
Soluție disponibilă după 3 încercări
Completați codul verificând dacă harta țărilor conține cheia „FR” și imprimați rezultatul boolean.
Afișează indiciu
Utilizați metoda `containsKey` pe obiectul `countries` pentru a verifica prezența cheii necesare.
Soluție disponibilă după 3 încercări