Подтвердить что ты не робот

Заменить элементы в списке другим

Как заменить элементы в list на другое?

Например, я хочу, чтобы все two стали one?

4b9b3361

Ответ 1

Вы можете использовать:

Collections.replaceAll(list, "two", "one");

Из документация:

Заменяет все вхождения одного указанного значения в списке другим. Более формально, заменяет newVal каждый элемент e в списке таким образом, что (oldVal==null ? e==null : oldVal.equals(e)). (Этот метод не влияет на размер списка.)

Метод также возвращает boolean, чтобы указать, действительно ли была сделана замена.

java.util.Collections имеет гораздо больше static методов утилиты, которые можно использовать на List (например, sort, binarySearch, shuffle и т.д.).


Отрывок

Ниже показано, как работает Collections.replaceAll; он также показывает, что вы также можете заменить на/из null:

    List<String> list = Arrays.asList(
        "one", "two", "three", null, "two", null, "five"
    );
    System.out.println(list);
    // [one, two, three, null, two, null, five]

    Collections.replaceAll(list, "two", "one");
    System.out.println(list);
    // [one, one, three, null, one, null, five]

    Collections.replaceAll(list, "five", null);
    System.out.println(list);
    // [one, one, three, null, one, null, null]

    Collections.replaceAll(list, null, "none");
    System.out.println(list);
    // [one, one, three, none, one, none, none]