Generičko programiranje — разлика између измена

Садржај обрисан Садржај додат
Ред 385:
 
== Heširanje ==
Ako želimo da kao ključeve koristimo objekte koje sami definišemo, treba da predefinišemo metod -{equals()}- iz klase -{Object}-. Da bi se obezbedila potrebna funkcionalnost, nova verzija treba da vrati -{true}- kada dva različita objekta sadrže iste vrednosti. Takođe, moguće je predefinisati metod -{hashCode()}- tako da raspodela bude prilično uniformna na skupu mogućih vrednosti za ključeve. Jedan način je da se za svaki podatak-članicu klase generiše ceo broj npr. postojećim metodom -{hashCode()}- koji se zatim množi prostim brojem (svaki član različitim) i na kraju se dobijeni rezultati sumiraju. Generisanje celog broja za podatak-članicu klase se obično vrši pozivanjem metoda -{hashCode()}-. Proste brojeve treba birati tako da ne budu preveliki, kako rezultat ne bi bio van opsega za -{int}-. Kad god je podatak-članica klase objekat neke druge klase, a ne primitivnog tipa, neophodno je implementirati -{hashCode()}- metod za datu klasu.
 
=== Konstuktori za HashMap<> ===
* -{HashMap()}- – podrazumevani, kreira katalog podrazumevanog kapaciteta 16, a podrazumevani load faktor je 0.75
 
* -{HashMap(int capacity)}- – kreira katalog datog kapaciteta, sa podrazumevanim load faktorom
 
* -{HashMap(int capacity, float loadFactor)}- – kreira katalog sa datim kapacitetom i load faktorom
 
* četvri konstuktor kreira katalog na osnovu postojećeg kataloga
Ред 398:
 
Smeštanje, dobijanje i uklanjanje objekata kataloga:
* -{V put(K key, V value)}- – smešta objekat -{value}- u katalog koristeći ključ -{key}-.
 
* -{V remove(Object key)}- – uklanja par povezan sa ključem ako postoji i vraća referencu na objekat. Ukoliko ne postoji odgovarajući par sa datim ključem, ili je objekat pridružen ključu -{null}-, vraća se -{null}-.
 
* -{V get(Object key)}- – vraća objekat sa istim ključem kao -{key}-. Objekat ostaje u katalogu. Ako nema nijednog objekta sa datim ključem, ili je -{null}- smešteno umesto objekta, vraća se -{null}-
Ako -{get()}- vrati -{null}-, ne znamo da li objekat povezan sa ključem ne postoji ili je objekat -{null}-. Za ovo služi metod -{containsKey()}- koji kao argument ima dati ključ. On vraća -{true}- ako je ključ smešten u katalogu.
 
-{Map<>}- interfejs obezbeđuje 3 načina za dobijanje kolekcionog pregleda sadržaja kataloga:
* -{keySet()}- – vraća -{Set}- objekat koji referiše na ključeve kataloga
 
* -{entrySet()}- – vraća -{Set<Map.Entry>}- objekat koji referiše na parove ključ/objekat – svaki par je objekat tipa -{Map.Entry. Entry}- je generički interfejsni tip definisan unutar interfejsa -{Map<>.}-
 
* -{values()}- – vraća -{Collection}- objekat koji referiše na objekte iz kataloga.
 
== Generičke klase ==