Учебное пособие: Основные структуры языка Java
Восемь из них имеют простой вид
static void sort(type[] a)
где type можетбытьодинизсемипримитивныхтипов byte, short, int, long, char, float, double илитип Object.
Восемь методов с теми же типами сортируют часть массива от индекса from включительно до индекса to исключительно:
static void sort(type[] a, int from, int to)
Оставшиеся два метода сортировки упорядочивают массив или его часть с элементами типа Оbject по правилу, заданному объектом с, реализующим интерфейсComparator:
static void sort(Object[] a, Comparator c)
static void sort(Object[] a, int from, int to, Comparator c)
После сортировки можно организовать бинарный поиск в массиве одним из девяти статических методов поиска. Восемьметодовимеютвид
static int binarySearch(type[] a, type element)
где type — один из тех же восьми типов. Девятыйметодпоискаимеетвид
static int binarySearch(Object[] a, Object element, Comparator c).
Он отыскивает элемент element в массиве, отсортированном в порядке, заданном объектом с.
Методы поиска возвращают индекс найденного элемента массива. Если элемент не найден, то возвращается отрицательное число, означающее индекс, с которым элемент был бы вставлен в массив в заданном порядке, с обратным знаком.
Восемнадцать статических методов заполняют массив или часть массива указанным значением value:
static void fill(type[], type value)
static void fill(type[], int from, int to, type value)
где type — один из восьми примитивных типов или тип Оbject. Наконец, девять статических логических методов сравнивают массивы:
static boolean equals(type[] al, type[] a2)
где type — один из восьми примитивных типов или тип Object.
Массивы считаются равными, и возвращается true, если они имеют одинаковую длину и равны элементы массивов с одинаковыми индексами.
В листинге1 приведен простой пример работы с этими методами.
Листинг 1. Применение методов класса Arrays
importjava.utii.*;
class ArraysTest{
public static void main(String[] args){
int[] a = {34, -45, 12, 67, -24, 45, 36, -56};
Arrays.sort(a) ;
for (int i = 0; i < a.length; i++)