как читать int [] chunk by chunk - PullRequest
1 голос
/ 01 апреля 2012

Предположим, что передано int [], и у меня есть функция f (массив []), если я не знаю длину массива, как я могу выполнить его порциями?или есть ли лучший способ сделать это?Спасибо

Ответы [ 5 ]

3 голосов
/ 01 апреля 2012

В Java вы можете получить длину массива из массива, просто используя:

int theArrayLength = array.length;
2 голосов
/ 01 апреля 2012
  1. Проверьте, является ли массив null, и если да, сгенерируйте исключение (например, IllegalArgumentException)
  2. Используйте расширенный цикл for

Пример -

void f(int[] array){
    if(array == null){
        throw new IllegalArgumentException();
    }

    for(int arrayItem : array){
        // iterate through array chunk-by-chunk
    }
}

Используя этот подход, вы можете перебирать массив по частям без явного знания длины массива.

2 голосов
/ 01 апреля 2012

Что вы подразумеваете под «выполнить это» и «кусок за кусок»? Вы всегда можете перебрать массив, используя индекс.

for(int i = 0; i < array.length; i++) {
  bar(array[i]);
}
1 голос
/ 01 апреля 2012

разве Java не знает arraya.length?

0 голосов
/ 01 апреля 2012

Вы можете найти длину любого массива в Java, выполнив

array.length
...