Объясните, пожалуйста, почему если убрать break неправильно работает? зачем он тут? Если на скриншоте плохо видно: 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) { for (int i = 0; i < array.length; i++) { if (array[i] == null) { for (int j = i + 1; j < array.length; j++) { if (array[j] != null) { array[i] = array[j]; array[j] = null; break; } } } } } }