From: Doni Pracner Date: Wed, 9 Nov 2016 12:58:47 +0000 (+0100) Subject: Zadatak Putnici - Hash funkcija i funkcija jednakosti X-Git-Url: https://svarog.pmf.uns.ac.rs/gitweb/?a=commitdiff_plain;h=46857d6ba76532cdda9e5aaf32243a140415c654;p=spa2-materijali.git Zadatak Putnici - Hash funkcija i funkcija jednakosti --- diff --git a/Hash/putnici/_zadatak.txt b/Hash/putnici/_zadatak.txt new file mode 100644 index 0000000..44ec2bf --- /dev/null +++ b/Hash/putnici/_zadatak.txt @@ -0,0 +1,72 @@ +Rad sa skupovima, funkcija jednakosti i hesh funkcija +============================================================ + +Napraviti program koji proverava da li su putnici na spisku +zabrana letenja. + +Potrebno je napraviti klasu `Putnik` koja je predstavljena +sa imenom, prezimenom i godinom rodjenja. + +Iz fajla "noflightlist.txt" treba ucitati odgovarajuce +putnike koji ne smeju da lete. + +Podatke smestiti u instancu klase "HashSet". + + +Pojedinacna provera +-------------------- + +Omoguciti da se unese novi putnik sa svojim podacima i +ispisati da li on sme da leti ili ne. + + +Masovna provera +---------------- + +Ucitati putnike iz fajla "flight.txt" i ispisati one +koji ne smeju da lete na ekranu. + + +Funkcija jednakosti +=================== + +Potrebno je u okviru klase implementirati metod: + + public boolean equals(Object o) { ... } + +Dobijeni objekat treba proveriti da li je dobrog tipa i onda +ga pretvoriti u odgovajuci tip radi dalje provere. + + +Hesh funkcija +============= + +Radi tacnog funkcionisanja skupa (HashSet) mora postojati +i adekvatna hesh funkcija u klasi: + + public int hashCode() {...} + +Ona mora da vraca uvek isti broj za isti sadrzaj objekta. + +Takodje se uvek ocekuje da za dva objekta za koje `equals` +vraca da su isti i hesh funkcija vraca iste vrednosti. +Obrnutno ne vazi u opstem slucaju, tj objekti sa istom +hesh vrednoscu ne moraju biti isti. + +Radi efikasnosti funkcionisanja skupa, potrebno je da ova +funkcija vraca sto razlicitije vrednosti za razlicite objekte, +u idealnom slucaju su to uvek razlicite vrednosti za manje +od 2^32 razlicitih objekata. + +Tehnicki je funkcija koja uvek vraca isti broj za sve +objekte ispravna, ali je veoma neefikasna za koriscenje +objekata u skupu. + + +Dodatak za vezbu +================= + +Modifikovati program tako da ne uzima u obzir godinu +rodjenja pri pretragama, nego samo ime i prezime i da +ispisuje upozorenja i za putnike koji samo imaju isto ime i +prezime kao neko sa spiska. \ No newline at end of file diff --git a/Hash/putnici/flight.txt b/Hash/putnici/flight.txt new file mode 100644 index 0000000..51fa9f1 --- /dev/null +++ b/Hash/putnici/flight.txt @@ -0,0 +1,151 @@ +50 +Bradic +Nenad +1978 +Djurichic +Simona +1988 +Alimpic +Mirjana +1965 +Atlagic +Matija +1986 +Jelichic +Marija +1990 +Lecic +Denis +1972 +Krsic +Ana +1984 +Kojchic +Marta +1977 +Puric +Marija +1979 +Suljagic +Nikolina +2004 +Dzambic +Aleksandar +1977 +Ojdanic +Tanja +2005 +Zizic +Darija +1958 +Slovic +Suzana +1962 +Glumichic +Minja +1968 +Kulundzic +Dario +1968 +Brekic +Zlatko +1960 +Bulajic +Mladen +1961 +Jozic +Lazar +1990 +Belodedic +Ana +1990 +Gujanichic +Rade +2002 +Brzic +Tamara +1995 +Denic +Anastasija +2005 +Genchic +Hektor +1979 +Vasic +Filip +1957 +Bogostic +Danilo +1965 +Buckic +Ksenija +1999 +Stojchic +Sava +1970 +Pepic +Kristina +1954 +Bosiorchic +Josip +1995 +Guduric +Anja +1961 +Horvat +Marko +1992 +Stojnic +Dragan +1933 +Ljotic +Nikolina +1956 +Beric +Pavle +1979 +Becarchic +Jovana +1995 +Jovanic +Nikola +1966 +Kacanski +Momchilo +2002 +Chichic +Lav +1983 +Maletic +Sasa +2003 +Tankosic +Nikola +1982 +Lazarevic +Milan +1990 +Klisuric +Mirjana +2001 +Prendic +Andjela +1989 +Glavonjic +Damir +1970 +Bratoljubic +Snezana +1965 +Novkovic +Miroslav +2006 +Ivetic +Nadja +2005 +Todoric +Dragoslav +1986 +Davinic +Jelisaveta +1975 \ No newline at end of file diff --git a/Hash/putnici/noflightlist.txt b/Hash/putnici/noflightlist.txt new file mode 100644 index 0000000..a3545b8 --- /dev/null +++ b/Hash/putnici/noflightlist.txt @@ -0,0 +1,301 @@ +100 +Bradic +Nikola +1978 +Nikolic +Mina +1983 +Mitric +Rastko +1972 +Bunardzic +Damjan +1961 +Radichic +Valentina +1958 +Kalabic +Doroteja +1955 +Brdalic +Relja +2007 +Budisic +Marko +1983 +Zaric +Aleksandar +1972 +Novkovic +Bojana +1965 +Zeravchic +Danilo +1955 +Ojdanic +Tanja +2005 +Zizic +Darija +2008 +Slovic +Sandra +1962 +Glumichic +Minja +1968 +Kulundzic +Dario +1968 +Brekic +Zlatko +1960 +Bulajic +Mladen +1961 +Jozic +Lazar +1993 +Belodedic +Diana +1990 +Gujanichic +Rade +2002 +Brzic +Tamara +1995 +Denic +Anastasija +2005 +Genchic +Hektor +1979 +Vasic +Filip +1957 +Bogostic +Danilo +1965 +Buckic +Ksenija +1999 +Stojchic +Sava +1970 +Pepic +Kristina +1954 +Bosiorchic +Jozef +1995 +Guduric +Anja +1961 +Horvat +Miodrag +1992 +Stojnic +Dragan +2004 +Ljotic +Nikolina +1956 +Beric +Pavle +1979 +Becarchic +Jovana +1995 +Jovanic +Nikola +1966 +Kacanski +Momchilo +2002 +Chichic +Lav +1983 +Maletic +Sasa +2001 +Tankosic +Nikola +1987 +Lazarevic +Milan +1998 +Klisuric +Mirjana +2000 +Prendic +Andjela +2007 +Glavonjic +Damir +1972 +Bratoljubic +Snezana +1965 +Novkovic +Miroslav +2006 +Ivetic +Nadja +2006 +Todoric +Dragoslav +1986 +Davinic +Jelisaveta +1975 +Vujisic +Biljana +1961 +Milanovic +Vukan +1985 +Djuknic +Danica +1993 +Stevic +Ema +1982 +Popadic +Lidija +1999 +Bratovchic +Vukan +2001 +Maletkovic +Bojan +1987 +Pop-Lazic +Bozidar +2007 +Sikimic +Branko +1981 +Zunic +Zeljko +1991 +Nedeljkov +Minja +1994 +Zutic +Petar +1992 +Vuchenic +Ljiljana +1971 +Bisenic +Sanja +1968 +Mihaljchic +Andrija +1982 +Predic +Sofija +1976 +Ekmechic +Bojan +1985 +Rajachic +Mahailo +1985 +Bezanic +Slobodan +1983 +Velikic +Danijela +1993 +Bjelosevic +Jelena +1997 +Tasic +Sanja +1994 +Stanchic +Dragan +1983 +Bojadic +Mladen +1992 +Gilam +Dragan +2004 +Milic +Sava +2008 +Blagic +Filip +1984 +Chubrilovic +Momchilo +1995 +Santic +Angelina +1993 +Buntic +Andjela +2007 +Zurovac +Jelisaveta +1998 +Verbic +Aleksandar +1962 +Jovovic +Teodora +1963 +Kosoric +Branko +1965 +Djurisic +Danilo +1977 +Bukvic +Aleksandar +1995 +Mandic +Milovan +1977 +Sindjelic +Ksenija +1959 +Bjeletic +Dragana +1995 +Bratic +Andjelija +1980 +Hadzi-Nikovic +Aleksa +1981 +Arsic +Jovana +1960 +Krstonosic +Marta +1978 +Antonic +Mila +1988 +Arsic +Zoran +1989 +Arsic +Mina +1962 +Bukic +Milan +1997 +Panic +Tanja +1991 +Jovandic +Mirjana +1963 +Ristic +Tatjana +1958 \ No newline at end of file