2015-09-18 5 views
0

Предположим, что у меня есть двумерный массив, состоящий из 8 команд (строк), и в каждой команде 12-15 игроков. Есть ли способ узнать, сколько всего игроков существует в String teams[][] (БЕЗ петлирования)?Как получить общую длину двухмерного массива? Java

+1

Да. Вы можете суммировать длину всех команд –

+0

Проверьте http://stackoverflow.com/questions/4441099/how-do-you-count-the-elements-of-an-array-in-java –

+1

Возможный дубликат [Получение длина массива 2D-массива в Java] (http://stackoverflow.com/questions/4000169/getting-the-array-length-of-a-2d-array-in-java) –

ответ

2

Нет, для этого нет родной Java-функциональности. Вы не можете вычислить это без цикла.
Итак, вам нужно использовать элемент loop и count.

+0

Это ответ, который я искал! Благодаря!! – bad

1

Вы должны сделать это вручную. Используйте что-то вроде этого:

int count = 0; 
    for(int i = 0; i < teams.length; i++) 
     for(int j = 0; j < teams[i].length; j++) 
      if(a[i][j] != null) 
       count++; 
    return count; 

Это предполагает, что поля в массиве, которые не содержат членов команды просто null.

2

Вы можете сделать это с потоками:

long players = Arrays.stream(teams).flatMap(team -> Arrays.stream(team)).count(); 
+1

... который «петли» за кулисами :-) –

Смежные вопросы