Как я заменяю элементы в a list
с другим?
Например, я хочу все two
стать one
?
Можно использовать:
Collections.replaceAll(list, "two", "one");
Из документации:
Заменяет все вхождения одного указанного значения в списке другим. Более формально, заменяет на
newVal
каждый элементe
в списке такой, что(oldVal==null ? e==null : oldVal.equals(e))
. (Этот метод не влияет на размер списка.)
Метод также возвращает boolean
, чтобы показать, была ли произведена замена.
java.util.Collections
имеет множество других статических
методов, которые вы можете использовать в 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]