import java.util.Arrays; /** * Array based storage for Resumes */ public class ArrayStorage { Resume[] storage = new Resume[10000]; private int size = 0; void clear() { for (int i = 0; i < size; i++) { storage[i] = null; } size--; } void save(Resume r) { if (r == null) throw new IllegalArgumentException("resume is null"); size++; storage[0] = r; storage[size] = r; } String get(String uuid) { for (int i = 0; i < size; i++) { if (storage[i].uuid.equals(uuid)) { return storage[i].toString(); } } return null; } void delete(String uuid) { for (int i = 0; i < size; i++) { if (storage[i].uuid.equals(uuid)) { storage[i] = storage[size - 1]; storage[size - 1] = storage[size - 2]; size--; } } } /** * @return array, contains only Resumes in storage (without null) */ Resume[] getAll() { Resume[] resumes = new Resume[size]; for (int i = 0; i < size; i++) { resumes[i] = storage[i]; } return resumes; } int size() { return size; } @Override public String toString() { return Arrays.toString(storage); } }