Sunteți pe pagina 1din 2

Semestrul I

Laborator 7-8
săptămâna 5.11.2018 – 10.11.2018
săptămâna 12.11.2018 – 17.11.2018

1. OBIECTIVE:
- Utilizarea colecţiilor
- Tipuri generice
- Compararea obiectelor

1. Scrieţi o clasă ce păstrează într-un ArrayList un şir de persoane (nume, prenume, vârsta,
profesia). Scrieţi metode pentru următoarele operaţii:
a. Adăugarea unei persoane
b. Afişarea tuturor persoanelor din listă
c. Eliminarea unei persoane din listă
d. Folosind un iterator număraţi câţi studenţi sunt în listă, câte persoane au vârsta
mai mică decât 25 ani şi câţi programatori sunt în listă.
e. Să se creeze un map care are ca şi cheie profesia şi ca valoare lista de persoane
care au acea profesie. Afişaţi map-ul.
f. Sortaţi lista de persoane în funcţie de vârstă şi dacă două persoane au aceeaşi
vârstă în funcţie de nume.
2. Comparaţi timpul necesar execuţiei operaţiilor: add, get, remove, s.a.m.d. pentru colecţii
de tip ArrayList şi LinkedList (având mai mult de 10000 elemente), folosind metoda,
clasei System, nanoTime ().

3. Modificaţi aplicaţia – gestionare banca – din laboratoarele 5/6 astfel încât să se


folosească colecţii în loc de tablouri de obiecte. Adăugaţi următoarele cerinţe:
a. Fiecare cont va reţine data ultimei accesări (un obiect de tip java.util.Date)
b. Adăugarea unui raport RaportZilnic care va afişa alfabetic persoanele care
accesează contul în ziua curentă

4. Realizați un program care să respecte următoarele cerințe


a. Creati clasa Angajat cu proprietățile: nume, an angajare, ultimele studii
absolvite, salariu. Pentru ea adaugați constructori, metode de set/get a
proprietăților clasei și o metodă care permite afișarea detaliilor despre angajați.
b. Creați clasa pereche (clasa generică) care are ca atribute membri perechi. Pentru
ea adaugați constructori, metode de set/get a proprietăților clasei și o metodă
care permite afișarea detaliilor despre pereche.
c. Creați două colecții de tip pereche: una cu perechi de tip angajat și una cu perechi
de tip intreg. Definiți o metodă care permite aflarea numărului perechilor care
se repetă în colecții
d. Sortați colectia de angajați în functie de numele membrilor perechi
e. Sortați colectia de angajați în functie salariu mediu pe pereche
f. Creați un map care să conțina tipul studiilor si cate persoane din colectia de
perechi au urmat aceste studii. Afisati mapul sub următoarea formă:
1. Postuniversitare ***
2. Licenta **********
3. Masterat ***
4. Doctorale *
5. ...
g. Căutați în colecția de perechi de intregi, perechea cu media maximă
h. Derivați din clasa Angajat clasele Muncior si Functionar. Creati o lista de
angajati, una de muncitori si una de functionari. Folosind wildcards pentru
generics definiti o metoda care să se poată apela cu cele 3 tipuri de clase și care
să calculeze salariul mediu al elementelor listei.

TEMA: TERMEN 24.11.2018

1. Fie clasa Pereche (parteneri de dans) care are proprietăţile numePartener1,


numePartener2.
a. Să se creeze un şir de perechi.
b. Să se adauge, să se şteargă elemente din listă.
c. Să se sorteze lista după primul/ultimul partener
d. Să se verifice corectitudinea perechii (dacă ambele valori sunt nenule), în caz de
eroare să se arunce o excepţie.
e. Să se modifice clasa Pereche astfel încât pe lângă tipul String să poată fi folosită
şi pentru clasa Persoană definită la exerciţiul 1 din laborator.

2. Creaţi o listă cu toate propoziţiile unui text care este pasat ca parametru din linia de
comandă.
a. Pentru fiecare propoziţie afişaţi cuvintele distincte
b. Pentru întreg textul realizaţi o statistică care conţine lungimea fiecărui cuvânt şi
numărul de cuvinte care au această lungime (Ex. Ana are mere. Statistica va fi:
3:2, 4:1)
c. Eliminaţi din lista de cuvinte, cuvintele care conţin subşirul ’re’. Afişaţi lista
astfel obţinută.
d. Sortaţi propoziţiile după numărul de cuvinte distincte pe care îl conţin astfel
încât propoziţiile cu cele mai multe cuvinte distincte să fie primele. Tipăriţi
colecţia astfel obţinută.

S-ar putea să vă placă și