Всем привет!
Понимаю решение путем циклов с несколькими счетчиками, но решил сделать другой вариант на основе лекций по работе со строками. Не понимаю на что агрится валидатор? Возможно на Arrays.fill(array, null);?
package com.javarush.task.pro.task10.task1012;
import java.util.Arrays;
import java.util.Objects;
/*
Дефрагментация памяти
*/
public class Memory {
public static void main(String[] args) {
String[] memory = {"object15", null, null, "object2", null, null, null, "object32", null, "object4"};
executeDefragmentation(memory);
System.out.println(Arrays.toString(memory));
}
public static void executeDefragmentation(String[] array) {
String s = "";
for (int x = 0; x < array.length; x++)
{
if (array[x] != null)
s += array[x] + "//";
}
Arrays.fill(array, null);
String[] newAr= s.split("//");
for (int x = 0; x < newAr.length; x++)
{
array[x] = newAr[x];
}
}
}