/** * Array based storage for Resumes */ public class ArrayStorage { private final int capasity = 10000; private int size; Resume[] storage = new Resume[capasity]; void clear() { // ÐÐ±Ñ Ð¾Ð´ вÑÐµÑ ÑлеменÑов маÑÑива for (int i = 0; i < size; i++) { //пÑиÑвоение вÑем ÑлеменÑам null storage[i] = null; } //обнÑление ÑÑеÑÑика заполненнÑÑ ÑÑеек size = 0; } void save(Resume r) { //еÑли маÑÑив заолнен, Ñогда вÑйÑи из меÑода if (size >= capasity) { return; } //добавление ÑезÑме в маÑÑив storage[size] = r; //ÑвелиÑение ÑазмеÑа на 1 size++; } Resume get(String uuid) { //Ð¾Ð±Ñ Ð¾Ð´ вÑÐµÑ ÑлеменÑов маÑÑива for (int i = 0; i < size; i++) { //еÑли uuid ÑекÑÑего ÑлеменÑа Ñавен заданномÑ, Ñо веÑнÑÑÑ ÐµÐ³Ð¾ if (storage[i].uuid.equals(uuid)) { return storage[i]; } } return null; } void delete(String uuid) { int idx = -1; //Ð¾Ð±Ñ Ð¾Ð´ вÑÐµÑ ÑлеменÑов маÑÑива for (int i = 0; i < size; i++) { //еÑли uuid ÑекÑÑего ÑлеменÑа Ñавен заданномÑ, Ñо if (storage[i].uuid.equals(uuid)) { //пÑиÑвоение знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð·Ð¸Ñии Ñдаленного из маÑÑива ÑезÑме idx = i; //вÑÑ Ð¾Ð´ из Ñикла break; } } //еÑли знаÑение idx ÑÑало болÑÑе Ñем -1, Ñо if (idx > -1) { //ÑмеÑаем вÑе ÑлеменÑÑ Ð¼Ð°ÑÑива for (int i = idx; i < size - 1; i++) { storage[i] = storage[i + 1]; } //обнÑлÑем поÑледний ÑÐ»ÐµÐ¼ÐµÐ½Ñ storage[size - 1] = null; //ÑменÑÑаем ÑÐ°Ð·Ð¼ÐµÑ Ð½Ð° 1 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; } }