examples/src/main/java/pr2/datenstrukturen/hash/SimpleHashTable.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"));
}
}