import java.util.List;
import java.util.ArrayList;
public class AL {
int size = 0;
Object[] arr;
AL(int capacity) {
if (capacity <= 0)
throw new IllegalArgumentException();
arr = new Object[capacity];
}
void add(Object obj) {
arr[size] = obj;
size++;
if (size == arr.length) {
Object[] arr2;
arr2 = new Object[(int) ((double) arr.length * 2)];
for (int i = 0; i < arr.length; i++)
arr2[i] = arr[i];
arr = arr2;
}
}
int size() {
return size;
}
public String toString() {
StringBuilder qwerty = new StringBuilder();
for (int i = 0; i < arr.length; i++) {
if (arr[i] != null)
qwerty.append("arr[").append(i).append("] = ")
.append(arr[i].toString()).append("\n");
}
return qwerty.toString();
}
void remove(int index) {
Object[] arr3 = new Object[arr.length];
int indexInArr3 = 0;
for (int i = 0; i < arr.length; i++) {
if (index > size)
throw new IndexOutOfBoundsException();
if (i != index) {
arr3[indexInArr3] = arr[i];
indexInArr3++;
}
arr[i] = arr3[i];
}
arr = arr3; // old to new
}
public static void main(String[] args) { //тестер
AL instance = new AL(1);
System.out.println("initial array:");
instance.add("ASASDFASD");
instance.add("qwert");
instance.add("asdfgh");
System.out.print(instance);
System.out.println("\nafter remove:");
instance.remove(0);
instance.remove(1);
System.out.print(instance);
}
}
Bonus: Додатково необхідно буде написати Компаратор для елементів в черзі (... implements Comparator Integers { } )
Немає коментарів:
Дописати коментар