В следующем коде:
static void findSubsets (ArrayList<Integer> numbers, int amount, int index)
{
ArrayList <Integer> numbersCopy = new ArrayList<Integer>(numbers.size());
Collections.copy(numbersCopy, numbers);
}
Я получаю сообщение об ошибке:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Source does not fit in dest
at java.util.Collections.copy(Collections.java:548)
at backtracking2.Main.findSubsets(Main.java:61)
Почему?
В java 8 +
List<Integer> numbersCopy = numbers.stream().collect(Collectors.toList());
Это легче в java 10 +
List<Integer> numbersCopy = List.copyOf(numbers);
Список .copyOf()
возвраты unmodifiable
Список, содержащий элементы данного Набора.