Меню

Как вывести все элементы массива джава

Массивы

Содержание

Массивы в Java — это структура данных, которая хранит упорядоченные коллекции фиксированного размера элементов нужного типа. В Java массив используется для хранения коллекции данных, но часто бывает полезно думать о массиве как о совокупности переменных одного типа.

Вместо объявления отдельных переменных, таких как number0, number1, . и number99, Вы объявляете одну переменную массива, например, numbers и используете numbers[0], numbers[1], . и numbers[99], для отображения отдельных переменных.

Данная статья ознакомит Вас как в Java объявить массив переменных, создать и обрабатывать массив с помощью индексированных переменных.

Объявление массива

Чтобы использовать массив в программе, необходимо объявить переменную для ссылки на массив, и Вы должны указать тип массива, который может ссылаться на переменную. Синтаксис для объявления переменной массива:

Примечание: стиль dataType[] arrayRefVar является предпочтительным. Стиль dataType arrayRefVar[] происходит из языка C/C++ и был принят в Java для C/C++-программистов.

Пример

Следующие фрагменты кода примеры использования данного синтаксиса:

Создание массива

В Java создать массив можно с помощью оператора new с помощью следующего синтаксиса:

Вышеуказанное объявление делает две вещи:

  • Создает массив, используя new dataType[arraySize];
  • Ссылка на недавно созданный массив присваивается переменной arrayRefVar.

Объявление переменной, создание и присвоение переменной ссылки массива могут быть объединены в одном операторе, как показано ниже:

В качестве альтернативы массивы в Java можно создавать следующим образом:

Элементы массива доступны через индекс. Отсчет индексов ведется от 0; то есть они начинают от 0 и до arrayRefVar.length-1.

Пример

Следующий оператор объявляет массив переменных myList, создает массив из 10 элементов типа double и присваивает ссылку myList:

Изображение отображает массив myList. Здесь myList имеет десять значений double и индексы от 0 до 9.

Работа с массивами

При работе с элементами массива, часто используют цикл for или цикл foreach потому, что все элементы имеют одинаковый тип и известный размер.

Пример

Полный пример, показывающий, как создавать, инициализировать и обработать массив:

Получим следующий результат:

Цикл foreach

JDK 1.5 представила новый цикл for, известный как цикл foreach или расширенный цикл for, который позволяет последовательно пройти весь массив без использования индекса переменной.

Пример

Следующий код отображает все элементы в массиве myList:

Получим следующий результат:

Передача массива в метод

Также как можно передать значение примитивного типа в метод, можно также передать массив в метод. Например, следующий метод отображает элементы в int массиве:

Его можно вызвать путем передачи массива. Например, следующий оператор вызывает метод printArray для отображения 3, 1, 2, 6, 4 и 2:

Возврат массива из метода

Метод может также возвращать массив. Например, метод, показанный ниже, возвращает массив, который является реверсирование другого массива:

Методы для массива

Класс java.util.Arrays содержит различные статические методы для поиска, сортировки, сравнения и заполнения элементов массива. Методы перегружаются для всех примитивных типов.

Описание
1 public static int binarySearch(Object[] a, Object key)
Ищет заданный массив объектов (byte, int, double, и т.д.) для указанного значения, используя алгоритм двоичного поиска. Массив должен быть отсортирован до выполнения этого вызова. Это возвращает индекс ключа поиска, если он содержится в списке; в противном случае (-(точка вставки + 1).
2 public static boolean equals(long[] a, long[] a2)
Возвращает значение true, если два указанных массивах равны друг другу. Два массива считаются равными, если оба массива содержат одинаковое количество элементов, и все соответствующие пары элементов в двух массивах равны. Такой же метод может быть использован всеми другими примитивными типами данных (byte, short, int и т.д.).
3 public static void fill(int[] a, int val)
Присваивает определенное значение int к каждому элементу указанного целочисленного массива. Такой же метод может быть использован всеми другими примитивными типами данных (byte, short, int и т.д.).
4 public static void sort(Object[] a)
Этот метод сортировки сортирует указанный массив объектов в порядке возрастания, в соответствии с естественным порядком его элементов. Такой же метод может быть использован всеми другими примитивными типами данных (byte, short, int и т.д.).

Пример 1: создание, объявление переменных, определение (выделение памяти) и инициализация массива

В качестве примера возьмем тип данных int. Вы же можете использовать любой другой тип данных.

Пример 2: длина массива

Узнать размер массива в Java можно с помощью метода length(). Данный метод позволяет определить размерность массива.

Получим следующий результат:

Пример 3: максимальный элемент массива

Простые способы для того, чтобы найти максимальное число в массиве в Java. Сперва воспользуемся методом Math.max().

Получим следующий результат:

Ещё один пример нахождения максимального числа в массиве в Java. Здесь мы не будем использовать какие-либо методы.

Получим следующий результат:

Пример 4: минимальный элемент массива

Написанный ниже код практически ничем не отличается от кода, описанного в примере 3. Он в точности наоборот, просто здесь мы ищем минимальное число в массиве в Java. В первом способе воспользуемся методом Math.min().

Получим следующий результат:

Ещё один пример нахождения максимального числа в массиве в Java. Здесь мы не будем использовать какие-либо методы.

Получим следующий результат:

Пример 5: сумма массива

В этом примере рассмотрим как получить сумму элементов массива в Java.

Читайте также:  Как вывести содержимое arraylist

Получим следующий результат:

А в этом примере используем улучшенный цикл for, чтобы найти сумму массива.

Получим следующий результат:

Пример 6: вывод массива

В данном примере рассмотрим как вывести массив на экран в Java.

Получим следующий результат:

Пример 7: вывод четных и нечетных элементов массива

В примере показано как вывести четные и нечетных элементы массива в Java.

Получим следующий результат:

Пример 8: вывод элементов массива с четным и нечетным индексом

В примере показано как вывести на экран элементы массива с четным и нечетным индексом.

Получим следующий результат:

Источник

15. Java — Массивы

Массивы в Java — это структура данных, которая хранит упорядоченные коллекции фиксированного размера элементов нужного типа. В Java массив используется для хранения коллекции данных, но часто бывает полезно думать о массиве как о совокупности переменных одного типа.

Вместо объявления отдельных переменных, таких как number0, number1, . и number99, Вы объявляете одну переменную массива, например, numbers и используете numbers[0], numbers[1], . и numbers[99], для отображения отдельных переменных.

Данная статья ознакомит Вас как в Java объявить массив переменных, создать и обрабатывать массив с помощью индексированных переменных.

Содержание

Объявление массива

Чтобы использовать массив в программе, необходимо объявить переменную для ссылки на массив, и Вы должны указать тип массива, который может ссылаться на переменную. Синтаксис для объявления переменной массива:

Примечание: стиль dataType[] arrayRefVar является предпочтительным. Стиль dataType arrayRefVar[] происходит из языка C/C++ и был принят в Java для C/C++-программистов.

Пример

Следующие фрагменты кода примеры использования данного синтаксиса:

Создание массива

В Java создать массив можно с помощью оператора new с помощью следующего синтаксиса:

Вышеуказанное объявление делает две вещи:

  • Создает массив, используя new dataType[arraySize];
  • Ссылка на недавно созданный массив присваивается переменной arrayRefVar.

Объявление переменной, создание и присвоение переменной ссылки массива могут быть объединены в одном операторе, как показано ниже:

В качестве альтернативы массивы в Java можно создавать следующим образом:

Элементы массива доступны через индекс. Отсчет индексов ведется от 0; то есть они начинают от 0 и до arrayRefVar.length-1.

Пример

Следующий оператор объявляет массив переменных myList, создает массив из 10 элементов типа double и присваивает ссылку myList:

Изображение отображает массив myList. Здесь myList имеет десять значений double и индексы от 0 до 9.

Работа с массивами

При работе с элементами массива, часто используют цикл for или цикл foreach потому, что все элементы имеют одинаковый тип и известный размер.

Пример

Полный пример, показывающий, как создавать, инициализировать и обработать массив:

Получим следующий результат:

Цикл foreach

JDK 1.5 представила новый цикл for, известный как цикл foreach или расширенный цикл for, который позволяет последовательно пройти весь массив без использования индекса переменной.

Пример

Следующий код отображает все элементы в массиве myList:

Получим следующий результат:

Передача массива в метод

Также как можно передать значение примитивного типа в метод, можно также передать массив в метод. Например, следующий метод отображает элементы в int массиве:

Его можно вызвать путем передачи массива. Например, следующий оператор вызывает метод printArray для отображения 3, 1, 2, 6, 4 и 2:

Возврат массива из метода

Метод может также возвращать массив. Например, метод, показанный ниже, возвращает массив, который является реверсирование другого массива:

Методы для массива

Класс java.util.Arrays содержит различные статические методы для поиска, сортировки, сравнения и заполнения элементов массива. Методы перегружаются для всех примитивных типов.

Описание
1 public static int binarySearch(Object[] a, Object key)
Ищет заданный массив объектов (byte, int, double, и т.д.) для указанного значения, используя алгоритм двоичного поиска. Массив должен быть отсортирован до выполнения этого вызова. Это возвращает индекс ключа поиска, если он содержится в списке; в противном случае (-(точка вставки + 1).
2 public static boolean equals(long[] a, long[] a2)
Возвращает значение true, если два указанных массивах равны друг другу. Два массива считаются равными, если оба массива содержат одинаковое количество элементов, и все соответствующие пары элементов в двух массивах равны. Такой же метод может быть использован всеми другими примитивными типами данных (byte, short, int и т.д.).
3 public static void fill(int[] a, int val)
Присваивает определенное значение int к каждому элементу указанного целочисленного массива. Такой же метод может быть использован всеми другими примитивными типами данных (byte, short, int и т.д.).
4 public static void sort(Object[] a)
Этот метод сортировки сортирует указанный массив объектов в порядке возрастания, в соответствии с естественным порядком его элементов. Такой же метод может быть использован всеми другими примитивными типами данных (byte, short, int и т.д.).

Пример 1: создание, объявление переменных, определение (выделение памяти) и инициализация массива

В качестве примера возьмем тип данных int. Вы же можете использовать любой другой тип данных.

Пример 2: длина массива

Узнать размер массива в Java можно с помощью метода length(). Данный метод позволяет определить размерность массива.

Получим следующий результат:

Пример 3: максимальный элемент массива

Простые способы для того, чтобы найти максимальное число в массиве в Java. Сперва воспользуемся методом Math.max().

Читайте также:  Как чистить зубы котами

Получим следующий результат:

Ещё один пример нахождения максимального числа в массиве в Java. Здесь мы не будем использовать какие-либо методы.

Получим следующий результат:

Пример 4: минимальный элемент массива

Написанный ниже код практически ничем не отличается от кода, описанного в примере 3. Он в точности наоборот, просто здесь мы ищем минимальное число в массиве в Java. В первом способе воспользуемся методом Math.min().

Получим следующий результат:

Ещё один пример нахождения максимального числа в массиве в Java. Здесь мы не будем использовать какие-либо методы.

Получим следующий результат:

Пример 5: сумма массива

В этом примере рассмотрим как получить сумму элементов массива в Java.

Получим следующий результат:

А в этом примере используем улучшенный цикл for, чтобы найти сумму массива.

Получим следующий результат:

Пример 6: вывод массива

В данном примере рассмотрим как вывести массив на экран в Java.

Получим следующий результат:

Пример 7: вывод четных и нечетных элементов массива

В примере показано как вывести четные и нечетных элементы массива в Java.

Получим следующий результат:

Пример 8: вывод элементов массива с четным и нечетным индексом

В примере показано как вывести на экран элементы массива с четным и нечетным индексом.

Источник

Как распечатать массив на Java

В этом уроке мы напечатаем массивы на Java, используя методы toString() и Deept-string (), потоки для циклов и итераторов, с примерами и объяснениями!

Автор: Mohamed Echout
Дата записи

Вступление

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

В этой статье мы рассмотрим как печатать массив на Java четырьмя различными способами.

Хотя “лучший способ” зависит от того, что должна делать ваша программа, мы начнем с самого простого метода печати, а затем покажем более подробные способы его выполнения.

  • Распечатайте массив с помощью Arrays.toString() и Arrays.deepToString()
  • Печать массива с использованием потоков Java 8
  • Печать массива путем преобразования в список
  • Выведите массив с помощью циклов For
  • Преобразование в список и Использование Итератора

Распечатайте массив с помощью Arrays.toString() и Arrays.deepToString()

Встроенный метод toString () -это чрезвычайно простой способ печати отформатированных версий объектов на Java.

Каждый тип данных в Java считается классом, и по умолчанию каждый класс наследуется от java.lang.Объект , корень иерархии классов Java. Вот почему у каждого класса есть метод toString () . Однако массивы не переопределяют метод toString() для удобного форматирования выходных данных, и он просто возвращает унаследованное значение, которое является хэшем объекта.

Мы печатаем массивы с помощью метода toString() из класса в java.util.Массивы .

Возьмем этот пример, где мы выводим значения массива целых чисел:

Приведенный выше код выведет следующее:

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

Мы также можем использовать этот метод для печати массивов различных типов:

Это соответственно приводит к:

Метод toString() эффективен только для одномерных массивов. Когда у нас есть вложенные массивы, нам нужно использовать метод deepToString() :

Если вам нужно наглядное представление о том, что находится в вашем массиве с первого взгляда, методы toString() и deepToString () – ваш лучший вариант.

Однако эти методы не позволяют отформатировать вывод. Этот подход в основном является обходным путем для того факта, что массивы по умолчанию не переопределяют метод toString () .

Если вы предпочитаете некоторую гибкость в форматировании, вы можете рассмотреть возможность использования Java 8 потоков .

Печать массива с использованием потоков Java 8

Один из вариантов печати массива-преобразовать его в поток объектов, а затем распечатать каждый элемент в потоке. У нас есть несколько вариантов использования потоков для печати нашего массива.

Например, мы можем распечатать наш массив построчно следующим образом:

В этом случае мы используем метод static stream() класса Массивы для создания последовательного потока наших данных. Для каждого элемента в нашем потоке мы вызываем функцию println () , чтобы он отображался строка за строкой следующим образом:

Примечание: Мы ссылаемся на функцию println() следующим образом: System.out::println . :: в Java является оператором ссылки на метод. Функция forEach() может использовать либо лямбда – функцию , либо ссылку на метод .

В качестве альтернативы мы можем использовать класс Stream из java.util.stream.Stream для аналогичного вызова функции println() в потоке данных нашего массива. Мы можем построить поток этих данных, используя Stream.of() :

С помощью этого кода мы получим тот же результат:

Давайте попробуем это также с вложенными массивами, добавив даты выпуска начальных версий этих языков:

Вывод для каждой печати через потоки будет выглядеть примерно так:

Git Essentials

Ознакомьтесь с этим практическим руководством по изучению Git, содержащим лучшие практики и принятые в отрасли стандарты. Прекратите гуглить команды Git и на самом деле изучите это!

Это не очень хорошо работает… Мы снова вызываем println() для объектов массива. Нам придется снова транслировать эти объекты и печатать их элементы.

Читайте также:  Как вывести пятно от красок для рисования с рубашки

Для печати вложенных массивов мы можем использовать лямбда-выражение в функции forEach () , которое может перейти на второй уровень, создав еще один поток каждого уровня и распечатав записи таким образом:

Эта лямбда-функция выводит элементы в каждом вложенном массиве. При компиляции и выполнении мы получим этот результат:

Потоки облегчают работу с коллекциями. Но Java является гибкой, чтобы предоставить еще больше возможностей. Традиционный цикл for по-прежнему многое делает для нас. Давайте взглянем на печать массива с циклами.

Печать массива путем преобразования в список

Вы можете легко преобразовать массив Java в реализацию List . Существуют различные способы сделать это, и мы подробно рассмотрели каждый из них в нашем Как преобразовать массив Java в ArrayList статья.

Короче говоря, вызов toString () или просто распечатка (которая неявно вызывает toString() ) в Списке реализации, распечатает содержимое:

Кроме того, вы можете использовать .forEach() изначально в любой Коллекции , которой является Список . Так что вы можете просто пойти дальше и сделать то же самое:

Хотя это не очень хорошо отформатированный вариант:

Вы можете отказаться от ссылки на метод и просто использовать лямбду для большего контроля:

Выведите массив с помощью циклов For

Более известный подход к печати массива в Java заключается в использовании цикла для . С помощью цикла для мы получаем индекс элемента, и мы можем использовать индекс для получения элемента массива.

Мы настраиваем цикл для с переменной, обычно называемой i , в качестве счетчика, начинающегося с элемента 0 . Затем следует условие, которое сравнивает i с количеством элементов в массиве.

Примечание : Количество элементов в массиве, которые будут использоваться в состоянии цикла, никогда не должно быть жестко закодировано. Java предоставляет атрибут length , который позволяет программисту динамически вычислять количество элементов в массиве.

И последнее, но не менее важное: наш цикл для принимает инкрементное значение, в нашем случае мы будем использовать обозначение i++ , чтобы продолжать увеличивать наш счетчик на один элемент в каждой итерации.

Как только наш цикл будет полностью настроен и готов, мы просто используем оператор System.out.println() для отображения каждого элемента в массиве, используя обозначение в прямоугольных скобках [i] , используя в качестве входных данных наш счетчик i .

Вот пример, в котором мы выводим все элементы целочисленного массива строка за строкой:

При выполнении этого кода в вашей консоли будет выведено следующее:

Использовать для циклов не так уж много. Они довольно гибкие и концептуально просты. Например, если у вас были вложенные массивы, то вы будете использовать вложенные для циклов.

Наконец, давайте взглянем на итераторы и списки.

Преобразование в список и Использование Итератора

Объект итератора Java позволяет нам отображать каждый элемент вашего массива без использования индексного подхода, который мы рассмотрели в разделе для цикла.

Чтобы использовать итераторы, мы должны изменить тип данных массива на Список . Мы можем сделать это с помощью метода Array.asList() и сохранить значения списка, возвращенные в новой переменной. Метод asList() принимает массив и превращает его в реализацию List .

Затем вам понадобится объект итератора для настройки итератора массива. Итератор подобен указателю, указывающему на каждый элемент массива. Итератор помогает вам проверять каждый элемент особым образом.

Для создания объекта итератора мы будем использовать метод iterator() нашего Списка . Как только наш объект итератора был создан, мы используем цикл while , поскольку он предлагает более компактный способ печати каждого элемента, возвращаемого итератором.

Условие цикла while будет содержать вызов метода hasNext() нашего итератора. Внутри цикла while мы печатаем каждый элемент, вызывая System.out.println() . Мы получаем элементы из итератора, вызывая метод next () . Цикл while будет повторяться над каждым элементом до тех пор, пока мы не пройдем наш массив (через Список ).

Вот пример, в котором мы берем массив целых чисел и выводим каждый элемент построчно с помощью итератора:

По сравнению с циклами for, этот метод предпочитают разработчики, которые предпочитают не иметь дело с индексами массивов. Вам гарантирован предстоящий элемент с next() . Итераторы являются мощными , потому что мы используем один и тот же поток для любого типа Списка , такого как ArrayList или Связанный список , а также для других коллекций, таких как Карта или Набор !

Вывод

В этой статье мы рассмотрели основные методы, используемые для печати массива в Java. Мы начали с использования встроенных методов Java toString() и deepToString() .

Оттуда мы использовали потоки, чтобы мы могли быстро печатать элементы массива строка за строкой. Мы также рассмотрели, как преобразовать массив в список, который вы можете либо просто вызвать, либо использовать API Java 8 Stream для более детального управления.

Затем мы использовали традиционную структуру для цикла для печати каждого элемента по отдельности.

И последнее, но не менее важное: мы использовали объект итератора для печати каждого элемента отдельно, используя метод next() внутри цикла while . Подходы, описанные в этой главе, могут быть использованы в зависимости от варианта использования и проблемы, которую вы пытаетесь решить.

Источник