Sunteți pe pagina 1din 1

Programare Orientata pe Obiecte

L A B O R A T O R 6(a)
Colectii de obiecte in Java

1. Program pentru afisarea tipurilor de fisiere dintr-un director dat


folosind obiecte multime de tip "HashSet" si "TreeSet". Se vor actualiza
simultan ambele multimi si se vor afisa succesiv. Obiectele multimii sunt
siruri ce reprezinta extensii de fisiere ( dupa ultimul punct din numele
fisierului).

2. Sa se defineasca o clasa "LinkedSet" pentru multimi de obiecte realizate


ca liste inlantuite, ca o clasa derivata din "LinkedList" si care implementeaza
interfata "Set". Constructori:
LinkedSet();
LinkedSet(Collection c);
Se va verifica cu programul de la pct.1 (inlocuind HashSet cu LinkedSet).

3. Sa se defineasca o clasa "LinkedSet" pentru multimi ordonate de obiecte


ca subclasa a clasei "AbstractSet" si cu o variabila de tip "LinkedList".
Constructor fara argument si cu argument "Comparator".
Se vor defini metodele abstracte din "AbstractSet":
int size()
Iterator iterator()
boolean add(Object obj)
Se va verifica cu programul de la pct.1 (inlocuind HashSet cu LinkedSet).

4. Sa se defineasca o clasa LHMap pentru un dictionar realizat ca tabel de


dispersie, dar cu mentinerea ordinei de adaugare la dictionar .
Clasa LHMap extinde clasa HashMap si contine o lista ArrayList.
Metode (re)definite:
Object put (Object key, Object value); // adauga la dict. si la lista
void putAll (Map map); // adauga toate perechile din map la acest dict.
Object remove (Object key); // elimina key si val. asociata din dic si lista
toString(); // sir cu perechile din dict. in ordinea adaugarii lor.
Set keySet(); // multime chei (in ordinea de adaugare)
Set entrySet(); // multime perechi (in ordinea de adaugare)

Program pentru afisarea numarului de fisiere din fiecare tip dintr-un


director dat folosind obiecte dictionar de tip "LHMap" si "TreeMap". Se vor
actualiza simultan ambele dictionare si se vor afisa succesiv. Cheia este
extensia numelui de fisier, iar valoarea asociata cheii este numarul de fisiere
de tipul respectiv. Exemplu de rezultate:
class 5
java 3
txt 1