Как заполнить массив числами java
Заполнить массив числами можно с помощью циклов, стримов. Рассмотрим вариант со стримами:
int size = 10; // Размерность массива int[] array = new int[size]; // Создаем массив с заданной размерностью IntStream.range(0, size) // С помощью стрима проходим по всему массиву // Заносим число в ячейку массива // Число будет равняться значению индекса массива .forEach(index -> array[index] = index); // Выводим массив в консоль System.out.print(Arrays.toString(array)); // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Инициализировать массив с диапазоном от 1 до n в Java
В этом посте мы обсудим, как инициализировать массив диапазоном от 1 до n в Java.
1. Использование IntStream.rangeClosed() метод
В Java 8 вы можете использовать IntStream.rangeClosed(start, end) генерировать последовательность возрастающих значений между start а также end . Чтобы получить примитивный целочисленный массив, вы можете вызвать метод toArray() метод на IntStream , как показано ниже:
import java . util . Arrays ;
import java . util . stream . IntStream ;
public class Main
public static void main ( String [ ] args ) <
int [ ] arr = IntStream . rangeClosed ( 1 , n ) . toArray ( ) ;
System . out . println ( Arrays . toString ( arr ) ) ;
результат:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Чтобы заполнить существующий массив диапазонами чисел, вы можете использовать лямбда-выражение:
import java . util . Arrays ;
import java . util . stream . IntStream ;
public class Main
public static void main ( String [ ] args ) <
int [ ] arr = new int [ n ] ;
IntStream . rangeClosed ( 1 , n ) . forEach ( i -> arr [ i — 1 ] = i ) ;
System . out . println ( Arrays . toString ( arr ) ) ;
результат:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2. Использование IntStream.iterate() метод
Вы также можете использовать IntStream.iterate() метод получения последовательности в порядке возрастания. Он принимает два аргумента — начальное значение и функцию, которая будет применена к предыдущему элементу для создания нового элемента. Чтобы получить числа в диапазоне [1, n] , начальное значение должно быть 1, и функция должна увеличить предыдущее значение на 1. Вы также должны ограничить количество элементов в потоке до n .
import java . util . Arrays ;
import java . util . stream . IntStream ;
public class Main
public static void main ( String [ ] args ) <
int [ ] arr = IntStream . iterate ( 1 , i -> i + 1 ) . limit ( n ) . toArray ( ) ;
System . out . println ( Arrays . toString ( arr ) ) ;
результат:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Java 9 представила перегруженную версию IntStream.iterate() метод, который принимает три аргумента: начальное значение, предикат, определяющий, когда поток должен завершиться, и функцию, которая применяется к предыдущему элементу для создания нового элемента.
Чтобы получить числа в диапазоне [1, n] , начальное значение должно быть 1, предикат должен ограничивать количество элементов до n , и функция должна увеличить предыдущее значение на 1. Его использование показано ниже. Обратите внимание, что нет необходимости вызывать limit() метод больше, так как поток завершается предикатом.
Как заполнить массив элементами с клавиатуры?
Дан массив. Определить количество максимальных элементов в массиве В первой строке задается количество элементов массива (не более 100) Во второй строке вводятся элементы массива. Я знаю, как найти максимальное значение в массиве со случайными числами, но как запихнуть в массив элементы с клавиатуры (как в задаче), если они написаны в строку через пробел? И как потом работать с ними?
Отслеживать
5,185 3 3 золотых знака 23 23 серебряных знака 48 48 бронзовых знаков
Как заполнить массив числами java
Массив представляет набор однотипных значений. Объявление массива похоже на объявление обычной переменной, которая хранит одиночное значение, причем есть два способа объявления массива:
тип_данных название_массива[]; // либо тип_данных[] название_массива;
Например, определим массив чисел:
int nums[]; int[] nums2;
После объявления массива мы можем инициализовать его:
int nums[]; nums = new int[4]; // массив из 4 чисел
Создание массива производится с помощью следующей конструкции: new тип_данных[количество_элементов] , где new — ключевое слово, выделяющее память для указанного в скобках количества элементов. Например, nums = new int[4]; — в этом выражении создается массив из четырех элементов int, и каждый элемент будет иметь значение по умолчанию — число 0.
Также можно сразу при объявлении массива инициализировать его:
int nums[] = new int[4]; // массив из 4 чисел int[] nums2 = new int[5]; // массив из 5 чисел
При подобной инициализации все элементы массива имеют значение по умолчанию. Для числовых типов (в том числе для типа char) это число 0, для типа boolean это значение false , а для остальных объектов это значение null . Например, для типа int значением по умолчанию является число 0, поэтому выше определенный массив nums будет состоять из четырех нулей.
Однако также можно задать конкретные значения для элементов массива при его создании:
// эти два способа равноценны int[] nums = new int[] < 1, 2, 3, 5 >; int[] nums2 = < 1, 2, 3, 5 >;
Стоит отметить, что в этом случае в квадратных скобках не указывается размер массива, так как он вычисляется по количеству элементов в фигурных скобках.
После создания массива мы можем обратиться к любому его элементу по индексу, который передается в квадратных скобках после названия переменной массива:
int[] nums = new int[4]; // устанавливаем значения элементов массива nums[0] = 1; nums[1] = 2; nums[2] = 4; nums[3] = 100; // получаем значение третьего элемента массива System.out.println(nums[2]); // 4
Индексация элементов массива начинается с 0, поэтому в данном случае, чтобы обратиться к четвертому элементу в массиве, нам надо использовать выражение nums[3] .
И так как у нас массив определен только для 4 элементов, то мы не можем обратиться, например, к шестому элементу: nums[5] = 5; . Если мы так попытаемся сделать, то мы получим ошибку.
Длина массива
Важнейшее свойство, которым обладают массивы, является свойство length , возвращающее длину массива, то есть количество его элементов:
int[] nums = ; int length = nums.length; // 5
Нередко бывает неизвестным последний индекс, и чтобы получить последний элемент массива, мы можем использовать это свойство:
int last = nums[nums.length-1];
Многомерные массивы
Ранее мы рассматривали одномерные массивы, которые можно представить как цепочку или строку однотипных значений. Но кроме одномерных массивов также бывают и многомерными. Наиболее известный многомерный массив — таблица, представляющая двухмерный массив:
int[] nums1 = new int[] < 0, 1, 2, 3, 4, 5 >; int[][] nums2 = < < 0, 1, 2 >, < 3, 4, 5 >>;
Визуально оба массива можно представить следующим образом: