diff --git a/SimpleArrayMap/.classpath b/SimpleArrayMap/.classpath index be55723..2197894 100644 --- a/SimpleArrayMap/.classpath +++ b/SimpleArrayMap/.classpath @@ -1,7 +1,10 @@ - + + + + + - diff --git a/SimpleArrayMap/src/solution/SimpleArrayMap.java b/SimpleArrayMap/src/solution/SimpleArrayMap.java deleted file mode 100644 index f80fa14..0000000 --- a/SimpleArrayMap/src/solution/SimpleArrayMap.java +++ /dev/null @@ -1,118 +0,0 @@ -package solution; - -import java.util.function.Consumer; - -import testat.ISimpleMap; - -public class SimpleArrayMap implements ISimpleMap { - - private K[] keys; - private V[] values; - private int size; - - public SimpleArrayMap(int arraySize) { - - this.keys = (K[]) new Object[arraySize]; - this.values = (V[]) new Object[arraySize]; - this.size = 0; - } - - @Override - public V put(K k, V v) { - - V tempValue; - - if (k == null || v == null) { - return null; - } - - for (int i = 0; i < values.length; i++) { - if (k.equals(keys[i])) { - tempValue = values[i]; - values[i] = v; - return tempValue; - } - } - - for (int i = 0; i < values.length; i++) { - if (keys[i] == null) { - keys[i] = k; - values[i] = v; - size++; - break; - } - } - - return null; - } - - @Override - public V get(K k) { - - if (k == null) { - return null; - } - - for (int i = 0; i < values.length; i++) { - if (k.equals(keys[i])) { - return values[i]; - } - } - - return null; - } - - @Override - public V remove(K k) { - - V tempValue; - - if (k == null) { - return null; - } - - for (int i = 0; i < values.length; i++) { - if (k.equals(keys[i])) { - tempValue = values[i]; - keys[i] = null; - values[i] = null; - size--; - return tempValue; - } - } - - return null; - } - - @Override - public boolean contains(V v) { - - if (v == null) { - return false; - } - - for (int i = 0; i < values.length; i++) { - if (v.equals(values[i])) { - return true; - } - } - - return false; - } - - @Override - public void forEach(Consumer consumer) { - - for (int i = 0; i < values.length; i++) { - if (keys[i] != null) { - consumer.accept(values[i]); - } - } - } - - @Override - public int size() { - return size; - } - -} diff --git a/SimpleArrayMap/src/solution/SimpleMapTest.java b/SimpleArrayMap/src/solution/SimpleMapTest.java deleted file mode 100644 index 89064a0..0000000 --- a/SimpleArrayMap/src/solution/SimpleMapTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package solution; - -import testat.ASimpleMapTest; -import testat.ISimpleMap; - -public class SimpleMapTest extends ASimpleMapTest{ - - @Override - protected ISimpleMap getInstance() { - - return new SimpleArrayMap<>(5); - } -} diff --git a/SimpleArrayMap/src/testat/ISimpleMap.java b/SimpleArrayMap/src/testat/ISimpleMap.java deleted file mode 100644 index 06dc061..0000000 --- a/SimpleArrayMap/src/testat/ISimpleMap.java +++ /dev/null @@ -1,34 +0,0 @@ -package testat; - -import java.util.function.Consumer; - -public interface ISimpleMap { - - // speichert zu dem Schlüssel k den Wert v, sofern beide nicht null sind - // (ist mind. einer null, wird null zurück gegeben) . - // Falls zu k bereits ein Wert w vorhanden ist, wird dieser durch v - // ersetzt. Der alte Wert w wird zurückgegeben. - // Falls zu k noch kein Wert gespeichert war, wird zu k der Wert v - // aufgenommen und null zurückgegeben - V put(K k, V v); - - // Liefert den zum Schlüssel k gespeicherten Wert. Liefert null, - // falls k == null oder falls zu k kein Wert gespeichert ist - V get(K k); - - // Entfernt den zum Schlüssel k gespeicherten Wert v und - // liefert v zurück. Liefert null, falls k == null oder falls - // zu k kein Wert gespeichert war - V remove(K k); - - // Liefert true, falls der Wert v in der Map (zu irgendeinem Schlüssel) - // gespeichert ist - boolean contains(V v); - - // wendet die Methode consumer.accept(v) auf alle in der - // Map gespeicherten Werte an - void forEach(Consumer consumer); - - // Anzahl an in der Map gespeicherten Werte - int size(); -}