Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Arrays.sort()

Сортирует массив на месте — по возрастанию или по заданному компаратору.

Доступно с: Java 1.2

Синтаксис

static void sort(int[] a)

Параметры

ПараметрТипОписание
aint[], T[], …Массив, который нужно отсортировать. Есть вариант с диапазоном индексов (fromIndex, toIndex).
cComparator<? super T>Порядок сортировки для массивов объектов.

Возвращаемое значение

voidНичего — меняется сам массив.

Примеры

Числа и строки по возрастанию:

void main() {
    int[] numbers = {5, 2, 9, 1};
    Arrays.sort(numbers);
    IO.println(Arrays.toString(numbers));
 
    String[] names = {"Oleg", "anna", "Maria"};
    Arrays.sort(names);
    IO.println(Arrays.toString(names));
}

Результат:

[1, 2, 5, 9]
[Maria, Oleg, anna]

С компаратором — по убыванию и по длине:

void main() {
    Integer[] numbers = {5, 2, 9, 1};
    Arrays.sort(numbers, Comparator.reverseOrder());
    IO.println(Arrays.toString(numbers));
 
    String[] words = {"kiwi", "fig", "banana"};
    Arrays.sort(words, Comparator.comparing(String::length));
    IO.println(Arrays.toString(words));
}

Результат:

[9, 5, 2, 1]
[fig, kiwi, banana]

Примечания

Метод ничего не возвращает — int[] sorted = Arrays.sort(a) не скомпилируется. Строки сортируются по кодам символов: заглавные раньше строчных. Компаратор работает только с массивами объектов, поэтому для убывания нужен Integer[], а не int[].

См. также

  • Arrays.binarySearch() — Быстро ищет значение в отсортированном массиве делением пополам.
  • Arrays.toString() — Возвращает содержимое массива в виде строки [1, 2, 3].
  • Comparator.comparing() — Создаёт компаратор, который сравнивает объекты по одному полю.
  • Comparable.compareTo() — Задаёт естественный порядок объектов класса — по нему работают sort() и TreeSet.

Вопросы и ответы по теме

В учебнике

  • Класс Arrays — Утилиты класса java.util.Arrays: toString, sort, fill, copyOf, copyOfRange, equals и binarySearch.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.