Как правильно скопировать 10 элементов из массива list [], в массивы array [],array2[]? Я так понимаю должны быть специальные методы?

int list[]=new int[20]; int array[]=new int[10]; int array2[]=new int[10];


Ответы (3 шт):

Автор решения: Circassian
for (int i = 0; i < list.length; i++) {
    int n = list[i];
    if (i < 10) {
        array[i] = n;
    } else {
        array2[i] = n;
    }
}
→ Ссылка
Автор решения: Санаев
List<Integer> list = Arrays.asList(2, 4, 5, 3, 5, 6, 3, 5, 6, 7, 3, 5, 6, 3, 6, 3, 5, 6, 7, 3);
List<Integer> array1 = list.subList(0,10);
List<Integer> array2 = list.subList(11,20);
→ Ссылка
Автор решения: Дмитрий

Копирование в цикле не рекомендую - много кода и есть шанс допустить ошибку. Переводить в коллекцию аналогично - только лишние объекты без толку плодить. У JAVA из коробки есть способы копировать массивы. В вашем случае подойдет такой :

System.arraycopy(list, 0, array, 0, 10);
System.arraycopy(list, 10, array2, 0, 10);

Кроме того, существует Arrays.copyOf(). Разница в том, что в последний передается только исходный массив, а уже метод возвращает новый скопированный. В вашем случае целевой массив уже существует, поэтому используем System.arraycopy(), у него тип возвращаемого значения VOID, потому как оба массива (из которого копируется и в который копируется) передаются в аргументы метода.

→ Ссылка