This is an old revision of the document!
Să se scrie un program pentru afișarea cuvintelor distincte dintr-un fișier text folosind clasa TreeSet. Fișierul va conține și cuvinte repetate (identice). Elementele mulțimii se vor afișa în ordine crescătoare (folosind metoda printWords) și în ordine descrescătoare (folosind metoda printWords), fără a apela o funcție de sortare, folosind două obiecte TreeSet construite diferit (cu și fără argument de tip Comparator). Se vor implementa 2 metode ce vor fi apelate din metoda main:
public TreeSet printWords (String)
- va primi, ca argument, numele fișierului din care se citește și va folosi un obiect de tip TreeSet, instanțiat folosind constructorul fără argument de tip Comparator;public TreeSet printWordsComparator(TreeSet)
- va primi ca argument obiectul de tip TreeSet, returnat de metoda anterioară, și va returna un alt obiect de tip TreeSet, stocând informațiile în ordine descrescătoare. În cazul instanțierii obiectului ce va fi returnat, folosiți constructorul cu argument de tip Comparator!Să se definească o clasă LinkedSet pentru o mulțime realizată ca listă înlănțuită de elemente distincte. Clasa va implementa interfața Set și va extinde clasa LinkedList.
Se vor redefini cele două metode de adăugare și metoda de setare a unui obiect:
Să se testeze clasa prin folosirea metodelor definite și afișare! Se poate folosi Test2.java din arhiva!
Să se definească o clasă SListSet pentru o mulțime ordonată de obiecte, care implementează interfața SortedSet și extinde clasa LinkedList. Clasa va conține un obiect de tip Comparator și metodele:
Comparator comparator () ; //comparator folosit (null pentru comparatia naturala) boolean add(Object o); //adauga un elemnt in multime daca nu exista deja si sorteaza multimea Object first(); //primul obiect din multime Object last(); // ultimul obiect din multime SortedSet subset(Object from, Object to); // o submultime ordonata SortedSet headSet(Object to); // o submultime cu primele obiecte SortedSet tailSet(Object from); //o submultime cu ultimele obiecte
Program pentru afișarea numerelor liniilor dintr-un fișier text în care apare fiecare cuvânt distinct. Se va folosi un dicționar cu liste de valori asociate fiecărei chei. Dicționarul va fi de tip TreeMap, iar listele vor fi de tip LinkedList.
Pentru afisare se va folosi un Iterator pe multimea intrarilor din dictionar. La afișare, fiecare cuvânt va începe pe o linie nouă și va fi urmat, pe liniile următoare, de lista numerelor liniilor în care apare. Pentru fiecare cuvânt în parte se va afișa la sfârșit numărul de apariții al acestuia.
Program pentru afișarea numerelor liniilor dintr-un fișier text în care apare fiecare cuvânt distinct. Se va folosi un dicționar cu liste de valori asociate fiecărei chei. Dicționarul va fi de tip TreeMap, iar listele vor fi de tip LinkedList.
Pentru afisare se va folosi un Iterator pe multimea intrarilor din dictionar. La afișare, fiecare cuvânt va începe pe o linie nouă și va fi urmat, pe liniile următoare, de lista numerelor liniilor în care apare. Pentru fiecare cuvânt în parte se va afișa la sfârșit numărul de apariții al acestuia.
Hint: Map - entrySet(), Set - iterator()