46 lines
1.1 KiB
Java
46 lines
1.1 KiB
Java
package pr2.datenstrukturen.hash;
|
|
|
|
public class SimpleHashTable {
|
|
|
|
private static final int SIZE = 10;
|
|
private final String[] buckets = new String[SIZE];
|
|
|
|
public int idx(String s) {
|
|
return Math.abs(s.hashCode()) % SIZE;
|
|
}
|
|
public void add(String s) {
|
|
buckets[idx(s)] = s;
|
|
}
|
|
|
|
public void remove(String s) {
|
|
buckets[idx(s)] = null;
|
|
}
|
|
|
|
public boolean contains(String s) {
|
|
return s.equals(buckets[idx(s)]);
|
|
}
|
|
|
|
public String toString() {
|
|
StringBuilder sb = new StringBuilder();
|
|
for (int i = 0; i < SIZE; i++) {
|
|
sb.append(String.format("[%d]: %s\n", i,
|
|
buckets[i] == null ? "" : buckets[i]));
|
|
}
|
|
return sb.toString();
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
SimpleHashTable sh = new SimpleHashTable();
|
|
sh.add("Januar");
|
|
sh.add("Februar");
|
|
sh.add("März");
|
|
sh.add("April");
|
|
sh.add("Mai");
|
|
|
|
System.out.println(sh.toString());
|
|
System.out.println(sh.contains("Februar"));
|
|
System.out.println(sh.contains("Januar"));
|
|
|
|
}
|
|
}
|