This shows you the differences between two versions of the page.
poo:laboratoare:09 [2017/11/27 13:11] carmen.odubasteanu |
poo:laboratoare:09 [2023/12/09 11:43] (current) carmen.odubasteanu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laboratorul 09. ===== | + | ===== Laboratorul 12. ===== |
=== Problema 1 === | === Problema 1 === | ||
Line 27: | Line 27: | ||
=== Problema 2 === | === Problema 2 === | ||
- | Să se definească o clasă generica **//ArrayMap//**, pentru un dicționar realizat din doi vectori (un vector de chei și un vector de valori asociate, obiecte din clasa **//Vector//**), care să poată înlocui o clasă **//HashMap//** sau **//TreeMap//**. Astfel, această clasă va extinde clasa **//AbstractMap//**, suprascriind următoarele metode: | + | Să se definească o clasă **__generica__** **//ArrayMap//**, pentru un dicționar realizat din doi vectori (un vector de chei și un vector de valori asociate, obiecte din clasa **//Vector//**), care să poată înlocui o clasă **//HashMap//** sau **//TreeMap//**. Astfel, această clasă va extinde clasa **//AbstractMap//**, suprascriind următoarele metode: |
<code java> | <code java> | ||
public String toString(); | public String toString(); | ||
public V put(K, V); | public V put(K, V); | ||
- | public V get(Object); | + | public V get(Object ); |
public Set<K> keySet(); | public Set<K> keySet(); | ||
public Collection<V> values(); | public Collection<V> values(); | ||
Line 51: | Line 51: | ||
</code> | </code> | ||
- | <note important>Folosiți iteratori pentru parcurgerea colecțiilor! </note> | + | <note important>Folosiți iteratori pentru parcurgerea colecțiilor sau bucle for each! </note> |
=== Problema 4 === | === Problema 4 === | ||
- | Definiți clasa **//GenericList//** care să implementeze interfața, pusă la dispoziție în arhiva laboratorului, **//GenericInterface//**. Această interfață conține operații care prelucrează o listă, cu elemente de tip **//Comparable//**. Metoda **//removeDuplicates//** primește ca parametru un obiect de tip **//ArrayList//** și transformă lista în mulțime, eliminând duplicatele. Metoda **//max//** are ca parametru tot un **//ArrayList//** și returnează elementul maximal din listă. Ultima metodă conținută de interfață, **//binarySearch//**, este folosită pentru a determina poziția unei valori într-o listă, uzitând pentru aceasta algoritmul de căutare binară, detaliat în blocul de cod de mai jos. | + | Definiți clasa **//GenericListMethods//** care să implementeze interfața, pusă la dispoziție în arhiva laboratorului, **//GenericInterface//**. Această interfață conține operații care prelucrează o listă, cu elemente de tip **//Comparable//**. Metoda **//removeDuplicates//** primește ca parametru un obiect de tip **//ArrayList//** și transformă lista într-on mulțime, eliminând duplicatele. |
+ | Metoda **//max//** are ca parametru tot un **//ArrayList//** și returnează elementul maximal din listă. | ||
+ | Ultima metodă conținută de interfață, **//binarySearch//**, este folosită pentru a determina poziția unei valori într-o listă ordonata, uzitând pentru aceasta algoritmul de căutare binară, detaliat în blocul de cod de mai jos. | ||
<code c> | <code c> | ||
Line 72: | Line 74: | ||
} | } | ||
</code> | </code> | ||
- | {{:poo:laboratoare:lab9.zip|Arhivă laborator}} | + | {{:poo:laboratoare:arhiva9.zip|Arhivă laborator}} |