В решении от JavaRush В 20-22 строках вложенный цикл который дальше через два условия заменяет значения в списке на null если они одинаковые,сравнение идёт парное Вопрос: При введенном массиве [a, a, a, b, c, b] Мы в начале сравниваем две "а", условие в цикле срабатывает и они становятся null т.е массив теперь имеет вот такой вид [null, null, a, b, c, b] Дальше по циклу также будут заменены две "b" и массив будет таким (по моей логике таким) [null, null, a, null, c, null] Но при компиляции вывод получается [null, null, null, null, c, null] Каким образом непарная "а" превратилась в null? Мой код был до просмотра правильного решения был следующим: Сразу прокомментирую: Заменял сразу не на null потому что при сравнении null с чем-либо компилятор ругался и не нашёл лучшего пути,кроме как заменять изначально на пустую строку и позже церез цикл заменять их на null С выводом массива так и не разобрался,при подставлении вывода из правильного решения в моем коде комплитяор ругался на null package com.javarush.task.pro.task05.task0508; import java.util.Arrays; import java.util.Scanner; /* Удаляем одинаковые строки */ public class Solution { public static String[] strings; public static void main(String[] args) { Scanner console = new Scanner(System.in); String[] array = new String[6]; for (int i = 0; i < 6; i++) { array[i] = console.nextLine(); } for (int i = 0; i <= 5; i++) { for (int j = i + 1; j <= 5; j++) { if (array[i].equals(array[j])) { array[i] = ""; array[j] = ""; break; } } } for (int i = 0; i <= 5; i++){ if (array[i].equals("")){ array[i] = null; } } for (String string : strings) { System.out.print(string); } } }