From 10388b12daa64520c89345eae451150634a8cafe Mon Sep 17 00:00:00 2001 From: Nikolai Iakovenko Date: Thu, 16 Nov 2023 16:10:44 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BB=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D1=8B=20`sa?= =?UTF-8?q?ve,=20get,=20delete,=20clear,=20getAll,=20size`=20=D0=B2=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B5=20`ArrayStorage`,?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ArrayStorage.java | 41 +++++++++++++++++++++++++++++++++-- src/MainTestArrayStorage.java | 2 ++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 7aff0388..4fdef646 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -1,30 +1,67 @@ +import java.util.Arrays; + /** * Array based storage for Resumes */ public class ArrayStorage { Resume[] storage = new Resume[10000]; + private static int size = 0; + void clear() { + for (int i = 0; i < size; i++) { + storage[i] = null; + } + size = 0; } void save(Resume r) { + if (r == null) throw new IllegalArgumentException("resume not null"); + if (size == 0) storage[0] = r; + else storage[size] = r; + size++; } + Resume get(String uuid) { + for (int i = 0; i < size; i++) { + if (this.storage[i].uuid == uuid) + return storage[i]; + } return null; } void delete(String uuid) { + for (int i = 0; i < size; i++) { + if (storage[i].uuid.equals(uuid)) { + // storage[i] = null; + storage[i] = storage[size - 1]; + storage[size - 1] = null; + size--; + } + } + } /** * @return array, contains only Resumes in storage (without null) */ Resume[] getAll() { - return new Resume[0]; + Resume[] resumes = new Resume[size]; + for (int i = 0; i < size; i++) { + resumes[i] = storage[i]; + } + return resumes; } int size() { - return 0; + return size; + } + + @Override + public String toString() { + return "ArrayStorage{" + + "storage=" + Arrays.toString(storage) + + '}'; } } diff --git a/src/MainTestArrayStorage.java b/src/MainTestArrayStorage.java index b15b81e2..4ebbebd7 100644 --- a/src/MainTestArrayStorage.java +++ b/src/MainTestArrayStorage.java @@ -16,12 +16,14 @@ public static void main(String[] args) { ARRAY_STORAGE.save(r2); ARRAY_STORAGE.save(r3); + System.out.println("Get r1: " + ARRAY_STORAGE.get(r1.uuid)); System.out.println("Size: " + ARRAY_STORAGE.size()); System.out.println("Get dummy: " + ARRAY_STORAGE.get("dummy")); printAll(); + System.out.println(); ARRAY_STORAGE.delete(r1.uuid); printAll(); ARRAY_STORAGE.clear(); From 9193cf5876783cd10785926bc5b96cfb773a1f72 Mon Sep 17 00:00:00 2001 From: Nikolai Iakovenko Date: Thu, 16 Nov 2023 16:28:38 +0300 Subject: [PATCH 2/3] first commit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fdcab28..31cdd431 100644 --- a/README.md +++ b/README.md @@ -200,3 +200,4 @@ ## Ресурсы в сети - [EduTools плагин от JetBrains для изучения Kotlin, Java, Python, Scala и других языков](http://javaops.ru/view/story/story21#edutools) - [JetBrains Academy — интерактивный учебный курс по Java](https://www.jetbrains.com/ru-ru/academy/) +"# basejava" From 1d4a9da10e0e970fc0b5955da42f9e9f0236eaf3 Mon Sep 17 00:00:00 2001 From: Nikolai Iakovenko Date: Thu, 16 Nov 2023 18:56:10 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20toString=20=20=D0=B2=20Arra?= =?UTF-8?q?yStorage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ArrayStorage.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 4fdef646..19bf2ef1 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -61,7 +61,6 @@ int size() { @Override public String toString() { return "ArrayStorage{" + - "storage=" + Arrays.toString(storage) + - '}'; + "storage=" + Arrays.toString(storage); } }