From 1101a0438759d9fc510390e7d507fbad85d10685 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AD=D0=B4=D1=83=20=D0=AD=D0=B4=D1=831?= <0563166@gmail.com> Date: Mon, 21 Apr 2025 22:10:11 +0300 Subject: [PATCH 1/6] Methods have been implemented --- src/ArrayStorage.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 7aff0388..bf4743fa 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -1,3 +1,5 @@ +import java.util.UUID; + /** * Array based storage for Resumes */ @@ -5,26 +7,33 @@ public class ArrayStorage { Resume[] storage = new Resume[10000]; void clear() { + storage = new Resume[10000]; } void save(Resume r) { + r.uuid = UUID.randomUUID().toString(); } - Resume get(String uuid) { - return null; + String get(String uuid) { + + return uuid; } void delete(String uuid) { + + uuid = uuid == null ? "" : uuid; } /** * @return array, contains only Resumes in storage (without null) */ Resume[] getAll() { + return new Resume[0]; } int size() { - return 0; + + return storage.length; } -} +} \ No newline at end of file From aa64fec8b0ab2f78b270cff4ad55c3ad342199e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AD=D0=B4=D1=83=20=D0=AD=D0=B4=D1=831?= <0563166@gmail.com> Date: Tue, 22 Apr 2025 12:39:36 +0300 Subject: [PATCH 2/6] Methods have been implemented --- src/ArrayStorage.java | 44 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index bf4743fa..72a8d80d 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -1,3 +1,4 @@ +import java.util.Arrays; import java.util.UUID; /** @@ -5,35 +6,62 @@ */ public class ArrayStorage { Resume[] storage = new Resume[10000]; + private static int counter = 0; void clear() { - storage = new Resume[10000]; + for (int i = 0; i < counter; i++) { + storage = new Resume[0]; + } + counter = 0; } void save(Resume r) { - r.uuid = UUID.randomUUID().toString(); + if (r == null) throw new + IllegalArgumentException("resume is null"); + if (counter == 0) storage[0] = r; + else storage[counter] = r; + counter++; + } String get(String uuid) { - - return uuid; + for (int i = 0; i < counter; i++) { + if (this.storage[i].uuid.equals(uuid)) { + return this.storage[i].toString(); + } + } + return null; } void delete(String uuid) { - uuid = uuid == null ? "" : uuid; + for (int i = 0; i < counter; i++) { + if (this.storage[i].uuid.equals(uuid)) { + storage[i] = storage[i - 1]; + storage[i - 1] = null; + counter--; + } + } } /** * @return array, contains only Resumes in storage (without null) */ Resume[] getAll() { - - return new Resume[0]; + Resume[] resumes = new Resume[counter]; + for (int i = 0; i < counter; i++) { + resumes[i] = storage[i]; + } + return resumes; } int size() { - return storage.length; + return counter; + } + + @Override + public String toString() { + return Arrays.toString(storage); } } \ No newline at end of file From 75765a8282c76851fae08aeba4586b6ab53352a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AD=D0=B4=D1=83=20=D0=AD=D0=B4=D1=831?= <0563166@gmail.com> Date: Wed, 23 Apr 2025 19:34:05 +0300 Subject: [PATCH 3/6] Methods have been implemented --- src/ArrayStorage.java | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 72a8d80d..3ec3fcb9 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -1,45 +1,39 @@ import java.util.Arrays; -import java.util.UUID; /** * Array based storage for Resumes */ public class ArrayStorage { Resume[] storage = new Resume[10000]; - private static int counter = 0; + private int maxNum = 0; void clear() { - for (int i = 0; i < counter; i++) { - storage = new Resume[0]; - } - counter = 0; + storage = new Resume[0]; } void save(Resume r) { if (r == null) throw new IllegalArgumentException("resume is null"); - if (counter == 0) storage[0] = r; - else storage[counter] = r; - counter++; - + maxNum = maxNum + 1; + if (maxNum == 0) storage[0] = r; + else storage[maxNum] = r; } String get(String uuid) { - for (int i = 0; i < counter; i++) { - if (this.storage[i].uuid.equals(uuid)) { - return this.storage[i].toString(); + for (int i = 0; i < maxNum; i++) { + if (storage[i].uuid.equals(uuid)) { + return storage[i].toString(); } } return null; } void delete(String uuid) { - - for (int i = 0; i < counter; i++) { - if (this.storage[i].uuid.equals(uuid)) { - storage[i] = storage[i - 1]; - storage[i - 1] = null; - counter--; + for (int i = 0; i < maxNum; i++) { + if (storage[i].uuid.equals(uuid)) { + storage[i] = storage[maxNum - 1]; + storage[maxNum - 1] = null; + maxNum--; } } } @@ -48,16 +42,15 @@ void delete(String uuid) { * @return array, contains only Resumes in storage (without null) */ Resume[] getAll() { - Resume[] resumes = new Resume[counter]; - for (int i = 0; i < counter; i++) { + Resume[] resumes = new Resume[maxNum]; + for (int i = 0; i < maxNum; i++) { resumes[i] = storage[i]; } return resumes; } int size() { - - return counter; + return maxNum; } @Override From 651e7bed4284da6ac464a5056aba84d39e879c19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AD=D0=B4=D1=83=20=D0=AD=D0=B4=D1=831?= <0563166@gmail.com> Date: Thu, 24 Apr 2025 20:07:04 +0300 Subject: [PATCH 4/6] Methods have been implemented --- src/ArrayStorage.java | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 3ec3fcb9..66fe6ae9 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -5,7 +5,7 @@ */ public class ArrayStorage { Resume[] storage = new Resume[10000]; - private int maxNum = 0; + private int size = 0; void clear() { storage = new Resume[0]; @@ -14,13 +14,13 @@ void clear() { void save(Resume r) { if (r == null) throw new IllegalArgumentException("resume is null"); - maxNum = maxNum + 1; - if (maxNum == 0) storage[0] = r; - else storage[maxNum] = r; + size++; + storage[0] = r; + storage[size] = r; } String get(String uuid) { - for (int i = 0; i < maxNum; i++) { + for (int i = 0; i < size; i++) { if (storage[i].uuid.equals(uuid)) { return storage[i].toString(); } @@ -29,11 +29,11 @@ String get(String uuid) { } void delete(String uuid) { - for (int i = 0; i < maxNum; i++) { + for (int i = 0; i < size; i++) { if (storage[i].uuid.equals(uuid)) { - storage[i] = storage[maxNum - 1]; - storage[maxNum - 1] = null; - maxNum--; + storage[i] = storage[size - 1]; + storage[size - 1] = storage[size - 2]; + size--; } } } @@ -42,15 +42,15 @@ void delete(String uuid) { * @return array, contains only Resumes in storage (without null) */ Resume[] getAll() { - Resume[] resumes = new Resume[maxNum]; - for (int i = 0; i < maxNum; i++) { + Resume[] resumes = new Resume[size]; + for (int i = 0; i < size; i++) { resumes[i] = storage[i]; } return resumes; } int size() { - return maxNum; + return size; } @Override From 41de7583d658852b35c3d77543d6ae3234eeaa55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AD=D0=B4=D1=83=20=D0=AD=D0=B4=D1=831?= <0563166@gmail.com> Date: Fri, 25 Apr 2025 22:21:54 +0300 Subject: [PATCH 5/6] Methods have been implemented --- src/ArrayStorage.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 66fe6ae9..974aa00b 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -8,7 +8,9 @@ public class ArrayStorage { private int size = 0; void clear() { - storage = new Resume[0]; + for (int i = 0; i < size; i++) { + storage[i] = null; + } } void save(Resume r) { From a62e114a1ab906a2e69e6d63cbea3ba16185089d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AD=D0=B4=D1=83=20=D0=AD=D0=B4=D1=831?= <0563166@gmail.com> Date: Fri, 25 Apr 2025 22:40:01 +0300 Subject: [PATCH 6/6] Methods have been implemented --- src/ArrayStorage.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ArrayStorage.java b/src/ArrayStorage.java index 974aa00b..fdc1b9bb 100644 --- a/src/ArrayStorage.java +++ b/src/ArrayStorage.java @@ -11,6 +11,7 @@ void clear() { for (int i = 0; i < size; i++) { storage[i] = null; } + size--; } void save(Resume r) {