Метод parallelSort
Метод parallelSort класса Arrays выполняет сортировку массива
в параллельном режиме. В отличие от обычного метода sort,
который обрабатывает элементы последовательно, parallelSort
разбивает массив на части и сортирует их одновременно в нескольких потоках,
а затем объединяет результаты. Это дает значительное ускорение на
многоядерных процессорах при работе с большими массивами.
Первым параметром метод принимает массив для сортировки. Вторым
и третьим параметрами можно передать начальный и конечный индексы
диапазона сортировки (конечный индекс не включается).
Метод поддерживает перегрузки для массивов примитивных типов
(byte, char, short, int, long,
float, double) и для массивов объектов, реализующих
интерфейс Comparable, либо с использованием внешнего
Comparator.
Синтаксис
Arrays.parallelSort(array)
Arrays.parallelSort(array, fromIndex, toIndex)
Arrays.parallelSort(array, comparator)
Пример
Давайте отсортируем массив целых чисел по возрастанию:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] arr = {5, 2, 8, 1, 9, 3};
Arrays.parallelSort(arr);
System.out.println(Arrays.toString(arr));
}
}
Результат выполнения кода:
[1, 2, 3, 5, 8, 9]
Пример
Давайте отсортируем только часть массива, указав начальный и конечный индексы:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] arr = {9, 7, 5, 3, 1, 2, 4, 6, 8};
Arrays.parallelSort(arr, 2, 6);
System.out.println(Arrays.toString(arr));
}
}
Результат выполнения кода:
[9, 7, 1, 2, 3, 5, 4, 6, 8]
Пример
Давайте отсортируем массив строк в обратном порядке
с помощью Comparator:
import java.util.Arrays;
import java.util.Collections;
public class Main
{
public static void main(String[] args)
{
String[] arr = {"abcde", "12345", "xyz", "qwerty"};
Arrays.parallelSort(arr, Collections.reverseOrder());
System.out.println(Arrays.toString(arr));
}
}
Результат выполнения кода:
[xyz, qwerty, abcde, 12345]
Смотрите также
-
метод
sort,
который сортирует массив последовательно -
метод
binarySearch,
который ищет элемент в отсортированном массиве -
метод
toString,
который преобразует массив в строку -
класс
Arrays,
который содержит методы для работы с массивами