25 Mayıs 2021 Salı

Arrays.parallelPrefix metodu

Giriş
Açıklaması şöyle. Yani her elemana bir önceki elemana uygulanmış metot çıktısını uygular
Cumulates, in parallel, each element of the given array in place, using the supplied function. For example if the array initially holds [2, 1, 0, 3] and the operation performs addition, then upon return the array holds [2, 3, 3, 6]. Parallel prefix computation is usually more efficient than sequential loops for large arrays.
Örnek
Şöyle yaparız
int[] numbers = {1, 2, 3, 4, 5};
Arrays.parallelPrefix(numbers, (x, y) -> x * y); // 2nd arg is lambda 

// The original array is now updated
System.out.println(Arrays.toString(numbers));

// Output: {1, 2, 6, 24, 120}
Örnek
Şöyle yaparız
int[] nums = {1, 1, 1, 2, 3};
Arrays.parallelPrefix(nums,Integer::sum);
System.out.println(Arrays.toString(nums));

//[1, 2, 3, 5, 8]

int[] nums = {1, 2, 3, 4, 5};
Arrays.parallelPrefix(nums, (i,j) -> i*j);
System.out.println(Arrays.toString(nums));

//[1, 2, 6, 24, 120]

Hiç yorum yok:

Yorum Gönder