Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Collections.nCopies()

Возвращает неизменяемый список из n одинаковых элементов.

Доступно с: Java 1.2

Синтаксис

public static <T> List<T> nCopies(int n, T o)

Параметры

ПараметрТипОписание
nintСколько раз повторить элемент.
oTПовторяемый элемент.

Возвращаемое значение

List<T>Неизменяемый список длины n.

Примеры

Повтор элемента и строка-разделитель:

void main() {
    IO.println(Collections.nCopies(3, "ab"));
    IO.println(String.join("+", Collections.nCopies(4, "1")));
}

Результат:

[ab, ab, ab]
1+1+1+1

Изменяемый список, заполненный нулями:

void main() {
    List<Integer> slots = new ArrayList<>(Collections.nCopies(5, 0));
    slots.set(2, 7);
    IO.println(slots);
}

Результат:

[0, 0, 7, 0, 0]

Примечания

Список не хранит n копий: он помнит один объект и число, поэтому занимает мало памяти даже для миллиона элементов. Все элементы — один и тот же объект; для изменяемых объектов (например, списков) это ловушка. Для строки проще "-".repeat(10).

См. также

  • String.repeat() — Повторяет строку указанное число раз.
  • Arrays.fill() — Заполняет весь массив или его часть одним значением.
  • ArrayList — Изменяемый список на основе массива — самая частая реализация `List`.
  • String.join() — Склеивает строки через разделитель.

В учебнике

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.