diff --git a/src/main/java/core/basesyntax/impl/StorageImpl.java b/src/main/java/core/basesyntax/impl/StorageImpl.java index 455a7b080..fa85609a7 100644 --- a/src/main/java/core/basesyntax/impl/StorageImpl.java +++ b/src/main/java/core/basesyntax/impl/StorageImpl.java @@ -1,19 +1,43 @@ package core.basesyntax.impl; import core.basesyntax.Storage; +import java.util.Objects; public class StorageImpl implements Storage { + private static final int MAX_ITEMS_ELEMENT = 10; + private Object[] keys = new Object[MAX_ITEMS_ELEMENT]; + private Object[] values = new Object[MAX_ITEMS_ELEMENT]; + private int size = 0; + @Override public void put(K key, V value) { + for (int i = 0; i < size; i++) { + if (Objects.equals(keys[i], key)) { + values[i] = value; + return; + } + } + if (size < MAX_ITEMS_ELEMENT) { + keys[size] = key; + values[size] = value; + size++; + } } @Override + //@SuppressWarnings("unchecked") + public V get(K key) { + for (int i = 0; i < size; i++) { + if (Objects.equals(keys[i], key)) { + return (V) values[i]; + } + } return null; } @Override public int size() { - return -1; + return size; } }