Метод nCopies
Метод nCopies класса Collections создает
и возвращает неизменяемый список, который состоит
из заданного количества копий одного и того же элемента.
В первый параметр мы передаем количество копий, во второй -
сам элемент, который нужно размножить. Полученный список
нельзя изменять: попытка добавить, удалить или заменить
элемент приведет к исключению UnsupportedOperationException.
Метод удобен, когда нужно быстро получить список, заполненный одним и тем же значением, например, для инициализации или для передачи в другой метод.
Синтаксис
Collections.nCopies(int n, T obj)
Пример
Давайте создадим список из 5 копий строки "abcde"
и выведем его на экран:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> res = Collections.nCopies(5, "abcde");
System.out.println(res);
}
}
Результат выполнения кода:
[abcde, abcde, abcde, abcde, abcde]
Пример
Давайте создадим список из 3 копий числа 1:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<Integer> res = Collections.nCopies(3, 1);
System.out.println(res);
}
}
Результат выполнения кода:
[1, 1, 1]
Пример
Давайте убедимся, что полученный список нельзя изменять:
import java.util.Collections;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
List<String> res = Collections.nCopies(3, "abcde");
res.add("12345");
}
}
Результат выполнения кода:
Exception in thread "main" java.lang.UnsupportedOperationException
Смотрите также
-
класс
Collections,
который содержит статические методы для работы с коллекциями -
метод
singletonList,
который создает список из одного элемента -
метод
emptyList,
который создает пустой неизменяемый список -
метод
unmodifiableList,
который создает неизменяемую обертку над списком