gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control system
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 12f630d)
raw | patch | inline | side by side (parent: 12f630d)
author | Doni Pracner <quinnuendo@gmail.com> | |
Sun, 8 Nov 2015 14:27:16 +0000 (15:27 +0100) | ||
committer | Doni Pracner <quinnuendo@gmail.com> | |
Sun, 8 Nov 2015 14:27:16 +0000 (15:27 +0100) |
Hash/hash.pdf | patch | blob | history | |
Hash/hash.txt | patch | blob | history |
diff --git a/Hash/hash.pdf b/Hash/hash.pdf
index 8a404a76846d379476326ecc28cb824dba4ba0ff..415e68efbc01b5725c3065ede5517cc907e0955b 100644 (file)
Binary files a/Hash/hash.pdf and b/Hash/hash.pdf differ
Binary files a/Hash/hash.pdf and b/Hash/hash.pdf differ
diff --git a/Hash/hash.txt b/Hash/hash.txt
index 743c31c9a5e967f65091c5f099c9357792eddbc8..d9cdb1845dbb0ef454a8b6cfe28ac4e99ccaa62d 100644 (file)
--- a/Hash/hash.txt
+++ b/Hash/hash.txt
Slično važi i za prezimena, budući da ih ima samo šestdesetak, bez
obzira na koliko je dobar heš kod u klasi `String`, možemo imati samo
šestdesetak različitih rezultata, odnosno dobijamo još gore rezultate,
-čak i za relativno malu tabelu sa 101 podskupom.
+čak i za relativno malu tabelu sa 101 podskupom. Ovde treba obratiti
+pažnju i da je moguće da imamo `null` polje.
```Java
public int hashCode() {
- return prezime.hashCode();
+ if (prezime != null) {
+ return prezime.hashCode();
+ } else {
+ return 0;
+ }
}
```
```Java
public int hashCode() {
- return prezime.hashCode() + broj;
+ int rez = 0;
+ if (prezime != null) {
+ rez += prezime.hashCode();
+ }
+ rez += broj;
+ return rez;
}
```
```Java
public int hashCode() {
- return prezime.hashCode() * broj;
+ int rez = 1;
+ if (prezime != null) {
+ rez *= prezime.hashCode();
+ }
+ rez *= broj;
+ return rez;
}
```
```Java
public int hashCode() {
int rez = 0;
- for (int i = 0;i < rezultati.length; i++) {
- rez = (rez + rezultati[i] * (MAX_DUZ+1-i)) * 7;
+ if (rezultati != null) {
+ for (int i = 0; i < rezultati.length; i++) {
+ rez = (rez + rezultati[i] * (MAX_DUZ + 1 - i)) * 7;
+ }
}
return rez;
}