Метод setAll
Метод setAll класса Arrays заполняет
все элементы массива значениями, которые вычисляются
с помощью переданной функции-генератора. Метод принимает
два параметра: первый - массив, который нужно заполнить,
второй - функция, которая принимает индекс элемента и
возвращает значение для этого элемента.
Метод возвращает void, то есть изменяет переданный массив непосредственно. Существует перегрузка метода для массивов примитивных типов (int, long, double и других) и для массивов объектов.
Синтаксис
Arrays.setAll(array, generator)
Пример
Давайте заполним массив целых чисел значениями,
равными их индексам, умноженным на 2:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] arr = new int[5];
Arrays.setAll(arr, i -> i * 2);
System.out.println(Arrays.toString(arr));
}
}
Результат выполнения кода:
[0, 2, 4, 6, 8]
Пример
Давайте заполним массив строк значениями, образованными из индекса элемента:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
String[] arr = new String[5];
Arrays.setAll(arr, i -> "abcde".substring(0, i + 1));
System.out.println(Arrays.toString(arr));
}
}
Результат выполнения кода:
[a, ab, abc, abcd, abcde]
Пример
Давайте заполним массив чисел их квадратами:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] arr = new int[5];
Arrays.setAll(arr, i -> (i + 1) * (i + 1));
System.out.println(Arrays.toString(arr));
}
}
Результат выполнения кода:
[1, 4, 9, 16, 25]