Besplatni Java kurs - 49. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.
HashSet bi se moglo prevesti kao skup heš vrednosti ili heš skup. Heš vrednosti su vrednosti koje nastaju primenom heš funkcija na ulazne vrednosti. Heš funkcije su tema za sebe i potrebo je više prostora za opisivanje svih pojedinosti koje su neophodneza potpuno razumevanje, ali pokušaću da objasnim ukratko, samo osove koje su neophodne za razumevanje heš skupova.
Heš funkcije
Kao i svaka druga matematička funkcija, heš funkcija (f) preobražava ulaznu vrednost (x) u izlaznu vrednost (y). Jedna od najjednostavnijih heš funcija je ostatak pri deljenju. Uzmimo za primer da je naša heš funcija ostatak pri deljenju brojem 10. Hajde da primenimo našu funkciju na nekoliko ulaznih vrednosti:
1. slučaj
f = ostatak pri deljenju brojem 10
x = 15
f(x) = f(15) = ostatak deljenja broja 15 brojem 10 = 5
znači rešenje je:
y = 5
2. slučaj
f = ostatak pri deljenju brojem 10
x = 23
f(x) = f(23) = ostatak deljenja broja 23 brojem 10 = 3
i rešenje je:
y = 3
3. slučaj
f = ostatak pri deljenju brojem 10
x = 195
f(x) = f(195) = ostatak deljenja broja 195 brojem 10 = 5
rešenje je (ponovo):
y = 5
- heš funkciju je moguće primeniti na beskonačan broj ulaznih vrednosti
- heš funkcija može dati isti rezultat za različite ulaze (u našem primeru prvi i treći slučaj imaju isto rešenje: i za x = 15 i za x = 195 rešenje je 5)
- nemoguće je zaključiti koja vrednost je bila ulazna vrednost heš funkcije na osnovu rezultata (u našem primeru, kada imamo rešenje 5 ne možemo znati da li je na ulazu bilo 15, 195 itd.)
Ove tri osobine treba imati na umu pri radu sa heš skupovima, ali i pri radu sa bilo kojom drugom heš kolekcijom - kako u Javi, tako i u drugim programskim jezicima.
Skupovi heš vrednosti predstavljaju Java kolekcije koje sadrže jedinstvene elemente i veoma su brzi za pretragu. Java skupovi heš vrednosti se koriste upotrebom metoda klase HashSet
.
Java HashSet - Upotreba
Pre svega neophodno je uvesti klasu HashSet
iz paketa java.util
na sledeći način:
import java.util.HashSet;
Pročitaj i nastavak:
Besplatni Java kurs - 50. deo - LinkedHashSet
No comments:
Post a Comment