Иллюстрированный самоучитель по Java

Действия с коллекциями. Методы класса Collections.

Коллекции предназначены для хранения элементов в удобном для дальнейшей обработки виде. Очень часто обработка заключается в сортировке элементов и поиске нужного элемента. Эти и другие методы обработки собраны В Класс Collections.


Все методы класса collections статические, ими можно пользоваться, не создавая экземпляры классу Collections.

Как обычно в статических методах, коллекция, с которой работает метод, задается его аргументом.

Сортировка может быть сделана только в упорядочиваемой коллекции, реализующей интерфейс List. Для сортировки в классе collections есть два метода:

  • static void sort (List coll) – сортирует в естественном порядке возрастания коллекцию coll, реализующую интерфейс List;
  • static void sort (List coll, Comparator c) – сортирует коллекцию coll в порядке, заданном объектом с.

После сортировки можно осуществить бинарный поиск в коллекции:

  • static int binarySearch(List coll, Object element) – отыскивает элемент element в отсортированной в естественном порядке возрастания коллекции coll и возвращает индекс элемента или отрицательное число, если элемент не найден; отрицательное число показывает индекс, с которым элемент element был бы вставлен в коллекцию, с обратным знаком;
  • static int binarySearch(List coll, Object element, Comparator c) – то же, но коллекция отсортирована в порядке, определенном объектом с.

Четыре метода находят наибольший и наименьший элементы в упорядочиваемой коллекции:

  • static object max (Collection coll) – возвращает наибольший в естественном порядке элемент коллекции coll;
  • static Object max (Collection coll, Comparator c) – то же в порядке, заданном объектом с;
  • static object mm (Collection coll) – возвращает наименьший в естественном порядке элемент коллекции сои;
  • static Object min(Collection coll, Comparator c) – то же в порядке, заданном объектом с.

Два метода "перемешивают" элементы коллекции в случайном порядке:

  • static void shuffle (List coll) – случайные числа задаются по умолчанию;
  • static void shuffle (List coll, Random r) – случайные числа определяются объектом r.

Метод reverse (List coll) меняет порядок расположения элементов на обратный.

Метод copy (List from, List to) копирует коллекцию from в коллекцию to.

Метод fill (List coll, object element) заменяет все элементы существующей коллекции coll элементом element.

С остальными методами познакомимся по мере надобности.

Заключение

Итак, в данной главе мы выяснили, что язык Java предоставляет множество средств для работы с большими объемами информации. В большинстве случаев достаточно добавить в программу три-пять операторов, чтобы можно было проделать нетривиальную обработку информации.

В следующей главе мы рассмотрим аналогичные средства для работы с массивами, датами, для получения случайных чисел и прочих необходимых средств программирования.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.