Daniel's Tech Blog

Cloud Computing, Cloud Native & Kubernetes

3. AP 2 Praktikum Aufgabe 1

Hinweis: Die Lösung der Aufgabe wurde von mir am 05.05.09 um 16:30 Uhr aktualisiert!

Hier die Lösung zu der ersten Aufgabe im dritten AP 2 Praktikum:

Die Aufgabenblätter sind hier zu finden: http://www.gm.fh-koeln.de/~ehses/ap/index.html

public  class Table implements ITable {

private static final int DEFAULT_INITIAL_SIZE = 4;

private int size;
private Entry[] data = new Entry[DEFAULT_INITIAL_SIZE];

    private void pruefeKey(Object key) {
if(key==null){
throw new NullPointerException(“key darf nicht 0 sein!”);
}
}

public int size(){
return size;
}

public Object put(Object key, Object value){

pruefeKey(key);

if(size>=data.length){
         Entry[] newdata = new Entry[data.length*2];
for(int j =0; j<data.length; j++){
newdata[j]=data[j];
}
data=newdata;
}

for(int i =0;i<size; i++){
if(data[i]!=null){
if(data[i].getKey().equals(key)){

return data[i].setValue(value);
 }
}
}
     data[size++]= new Entry(key, value);
return null;
}

public Object get(Object key){

pruefeKey(key);

for(int i =0; i<size; i++){
if(data[i].getKey().equals(key)){
        return data[i].getValue();
}
}

return null;
}

public boolean containsKey(Object key){

pruefeKey(key);

for(int i =0; i<size; i++){
if(data[i]!=null){
if(data[i].getKey().equals(key)){

return true;
 }
}

return false;
}

public Object remove(Object key){

pruefeKey(key);

for(int i =0; i<size; i++){
if(data[i].getKey().equals(key)){

Object temp = data[i].setValue(null);
 for(int j =i; j<data.length; j++){
if(j+1!=data.length){
data[j]=data[j+1];
 }
}

size- -;
return temp;
}
}

return null;
}

public Object[] keys(){
Object[] keys = new Object[size];
for(int i =0; i<keys.length; i++){
if(data[i]!=null){

keys[i]=data[i].getKey();
 }
}

return keys;
}
}


Posted

in

WordPress Cookie Notice by Real Cookie Banner