rendered paste bodypublic class Eintrag<K, V>{
private K ke;
private V va;
Eintrag(K k, V v){
ke = k;
va = v;
}
public K key(){
return ke;
}
public V value(){
return va;
}
public void setkey(K k){
ke = k;
}
public void setvalue(V v){
va = v;
}
public void print(){
System.out.println("<" + ke + ", " + va + ">");
}
}
//erste fertig
import java.util.*;
import java.lang.*;
public class Dict<K, V> implements Woerterbuch<K, V>{
private int size;
private int tab_gro;
Collection<Eintrag<K,V>> hashZeile[];
Dict(){
size = 0;
tab_gro = 10;
hashZeile = (LinkedList<Eintrag<K,V>>[]) new Object[tab_gro];
}
Dict(int a){
size = 0;
tab_gro = a;
hashZeile = new LinkedList<Eintrag<K,V>>[tab_gro];
}
public Eintrag<K,V> finde(K k){
int k_hash = k.hashCode() % tab_gro;
Iterator it = hashZeile[k_hash].iterator();
Eintrag<K, V> tmp;
while(it.hasNext()){
tmp = (Eintrag<K, V>)it.next();
if(tmp.key() ==k)
return tmp;
}
return null;
}
public void einfuege(K k, V v){
int k_hash = k.hashCode() % tab_gro;
Eintrag<K, V> neu_eintrag = new Eintrag<K, V>(k, v);
hashZeile[k_hash].add(neu_eintrag);
size++;
}
public void streiche (Eintrag<K,V> e){
int k_hash = e.key().hashCode() % tab_gro;
Iterator it = hashZeile[k_hash].iterator();
Eintrag<K, V> tmp;
while(it.hasNext()){
tmp = (Eintrag<K, V>) it.next();
if(tmp.equals(e)){
it.remove();
size--;
break;
}
}
}
public int groesse(){
return size;
}
public Collection<Eintrag<K,V>> findeAlle(K k){
Collection<Eintrag<K,V>> collection = new LinkedList<Eintrag<K,V>>();
int k_hash = k.hashCode() % tab_gro;
Iterator it = hashZeile[k_hash].iterator();
Eintrag<K, V> tmp;
while(it.hasNext()){
tmp = (Eintrag<K, V>)it.next();
if(tmp.key() == k){
collection.add(tmp);
}
}
return collection;
}
public Collection<Eintrag<K, V>> eintraege(){
Collection<Eintrag<K,V>> collection = new LinkedList<Eintrag<K,V>>();
for(int i = 0; i < tab_gro; i++){
Iterator it = hashZeile[i].iterator();
while(it.hasNext()){
collection.add((Eintrag<K, V>)it.next());
}
}
return collection;
}
public boolean istLeer(){
return (size==0);
}
public static void main(String[] args){
Dict<Integer, Double> dict = new Dict<Integer, Double>(5);
dict.einfuege(216873, 5.0);
dict.einfuege(3898589, 1.3);
dict.einfuege(4050066, 2.0);
dict.einfuege(3671832, 5.0);
dict.einfuege(4054540, 1.3);
dict.einfuege(4171189, 1.7);
Eintrag<Integer, Double> stu = dict.finde(4050066);
Collection<Eintrag<Integer, Double>> allstu = dict.eintraege();
if(!dict.istLeer()){
Iterator it = allstu.iterator();
System.out.println("Die alle Eintreage des Woerterbuchs sind: ");
while(it.hasNext())
((Eintrag<Integer, Double>) it.next()).print();
System.out.println("");
}
}
}