Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

Перебрать массив элементов, не зная его размеров

#java #массивы


У меня есть массив:

int[] array = new int[] {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};


Мне нужно вывести все элементы массива в консоль, я понимаю что для этого нужен цикл:

for (int i = 0; i < 10; i++) {
        System.out.println(array[i]);
}


А что если добавить несколько элементов, скажем так:

int[] array = new int[] {10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 101, 102, 103};


То как перебирать все эти элементы, постоянно менять условие i < ... Вот собственно
вопрос, как перебирать массив элементов не зная сколько там элементов? :)
    


Ответы

Ответ 1



@Сашко, Доброе время суток! int[] array = new int[] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 101, 102, 103, 104 }; for (int i = 0; i < array.length; i++) { System.out.println(array[i]); }

Ответ 2



Для перебора всех элементов массива в Java есть как минимум три подхода: Цикл с условием Это привычный «сишный» способ. Просто проходим все индексы массива, перед каждой итерацией проверяя, не дошли ли до конца. for (int i = 0; i < array.length; i++) { System.out.printf("%d\t%d\n", i, array[i]); } Цикл по коллекции Пишем вначале переменную, которая будет принимать значения элементов массива, а затем через двоеточие — имя нашего массива. Если нужен индекс, его придётся считать отдельно. int i = 0; for (int element : array) { System.out.printf("%d\t%d\n", i, element); i++; } Применение потоков Начиная с Java 8 доступен специальный интерфейс Stream. Его удобно использовать вкупе с лябда-функциями. IntStream.of(array).forEach(element -> System.out.println("см. ==> " + element)); // если функции передаётся просто один аргумент, можно обойтись без стрелки IntStream.of(array).forEach(System.out::println); Бонус: последние два способа будут работать не только с массивами, а с произвольного вида коллекциями.

Комментариев нет:

Отправить комментарий