Действия с коллекциями. Методы класса 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 предоставляет множество средств для работы с большими объемами информации. В большинстве случаев достаточно добавить в программу три-пять операторов, чтобы можно было проделать нетривиальную обработку информации.
В следующей главе мы рассмотрим аналогичные средства для работы с массивами, датами, для получения случайных чисел и прочих необходимых средств программирования.