Переделал , всё ровно не правильно, хоть выводит как надо. Что не так?) 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) { int count = 0; for (int i = 0; i < array.length; i++){ if(array[i] == null) count++; else array[i-count] = array[i];} int finalka = array.length - count; for (;finalka < array.length ; finalka++) { array[finalka] = null;} } }