Java течет, чтобы нулевой массив Java, каждый из которых содержит 2D -массив?JAVA

Программисты JAVA общаются здесь
Anonymous
Java течет, чтобы нулевой массив Java, каждый из которых содержит 2D -массив?

Сообщение Anonymous »

public static class al_s {
int path[][] = new int[4][5];
}
static al_s already[][] = new al_s[10][10];
< /code>

Мне нужно ноль переменной «уже» больше и выше
, специально нулевая «Путь» каждого объекта снова и снова: < /p>
Я использую: < /h2>
already = new al_s[10][10];
for (int yy = 0; yy < 10; yy++) {
for (int xx = 0; xx < 10; xx++) {
already[yy][xx] = new al_s();
}
}
o_r
already = new al_s[10][10];
for (int yy = 0; yy < 10; yy++) {
for (int xx = 0; xx < 10; xx++) {
Arrays.stream(already[yy][xx].path).forEach(row -> Arrays.fill(row, 0));
}
}
< /code>

Но это медленное ...
if 'уже' был из быстрой способы нулевого 'уже 2': < /h2>
int already2[][] = new int[10][10];
Arrays.stream(already2).forEach(row -> Arrays.fill(row, 0));
< /code>

У кого -нибудь уже есть потоки, чтобы уже ноль '? (Массив составляет 141x141, который будет обнулян примерно в 100 000 раз < /p>
/cw (спасибо) < /p>

Предлагается быстро и работает точно: (& Спасибо, Shmosel) (сохраняет 10 -секундные в программе 2 минуты) < /p>

Arrays.parallelSetAll(already, i -> { al_s[] row = new al_s[leny]; Arrays.parallelSetAll(row, j -> new al_s()); return row; });
< /code>
Итак, теперь вместо того, чтобы делать новый .. Есть ли более быстрый путь, что -то вроде: (но это дает мне ошибку, не зная, какая переменная j;) (ошибка: не может найти символ: переменная j) < /p>
Arrays.parallelSetAll(already, i -> { al_s[] row = new al_s[leny]; Arrays.parallelSetAll(row, Arrays.stream(j.path).forEach(row1 -> Arrays.fill(row1, 0))); return row; });
< /code>

спасибо /cw < /p>

Подробнее здесь: https://stackoverflow.com/questions/797 ... a-2d-array

Вернуться в «JAVA»