Задачу я решил, но в процессе решения возник вопрос, скорее всего связанный с передачей по ссылке, но не могу понять в чем дело
подскажите, пожалуйста, почему данный код
package com.javarush.task.task09.task0926;
import java.util.ArrayList;
/*
Список из массивов чисел
*/
public class Solution {
public static void main(String[] args) {
ArrayList<int[]> list = createList();
fillList(list);
printList(list);
}
public static ArrayList<int[]> createList() {
//напишите тут ваш код
ArrayList<int[]> myArray = new ArrayList<>();
myArray.add(new int[5]);
myArray.add(new int[2]);
myArray.add(new int[4]);
myArray.add(new int[7]);
myArray.add(new int[0]);
return myArray;
}
public static void printList(ArrayList<int[]> list) {
System.out.println();
for (int[] array : list) {
System.out.print("array: ");
for (int x : array) {
System.out.print(x + " ");
}
System.out.println();
}
}
public static void fillList(ArrayList<int[]> list) {
for (int[] array : list) {
System.out.print("array: ");
for (int x : array) {
x = (int) (Math.random() * 100);
System.out.print(x + " ");
}
System.out.println();
}
}
}
выводит результат
array: 0 68 20 72 68
array: 15 97
array: 97 84 90 69
array: 83 65 39 71 77 33 1
array:
array: 0 0 0 0 0
array: 0 0
array: 0 0 0 0
array: 0 0 0 0 0 0 0
array:
Process finished with exit code 0
Как будто заполнял одни массив, а вывел другой
Хотя ведь ссылка одна и та же (list), разве нет??
Спасибо за ответ