Главная » Java » Класс Arrays

0

 

   предлагает ряд полезных статических методов, предназначенных для работы с массивами. Большинство из этих методов представлено в виде наборов перегруженных вариантов — по одному на каждый из массивов простых типов (за исключением методов поиска и сортировки значений boolean), а также массив элементов Object. Для некоторых методов предусмотрены две формы: одна обрабатывает массив целиком, а вторая действует по отношению к фрагменту массива, определяемому двумя заданными граничными значениями индексов. Краткие описания методов приведены ниже.

* sort.   Сортирует  массив,   используя   алгоритм,   эффективность  которого

оценивается функцией O(nlogn).

 

* binarySearch. Осуществляет поиск заданного ключа в отсортированном

массиве. Возвращает индекс найденного ключа либо отрицательное значе

ние подходящей позиции вероятной вставки ключа, если ключ не найден

(как в случае метода Collections .binarySearch, рассмотренного в пре

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

вов, не существует.

 

* equals. Возвращает true, если две ссылки на массивы, переданные в ка

честве параметров, указывают на один и тот же объект, обе равны пи

либо массивы обладают одинаковыми длиной и содержимым.

Версий, позволяющих работать с фрагментами массивов, не существует.

 

*f i 11. Присваивает всем элементам массива одно и то же заданное значение.

 

Методы sort и binarySearch, предназначенные для работы с массивами Object, представлены в двух формах. Первая подразумевает, что объекты-элементы массива сопоставимы (т.е. относятся к типам, реализующим интерфейс Comparable), а вторая предусматривает использование заданного объекта Comparator, позволяющего манипулировать несопоставимыми элементами либо действовать в соответствии с критерием упорядочения, отличным от естественного (natural ordering). Вариант метода equals для сравнения массивов Object использует соответствующий метод equals каждого из объектов-элементов, отличных от null, а при сравнении элементов null обоих массивов учитываются значения их позиций. Метод Arrays . equal s не различает вложенные массивы и поэтому, вообще говоря, не может применяться для сравнения массивов.

  Чтобы представить массив в виде объекта-списка, можно прибегнуть к помощи метода as Li St. Такой список поддерживается объектом исходного массива в актуальном состоянии, так что изменения, вносимые в содержимое массива, будут "видимы" со стороны списка, и наоборот. Список, возвращаемый методом asList, допускает применение операций set, но не разрешает добавлять (add) и удалять (remove) элементы: значения элементов списка могут изменяться, но его структура — нет. Воспользовавшись объектом List для представления массива, вы получите в свое распоряжение полезные инструменты работы со списками, такие как синхронизированные оболочки — последние позволят управлять единовременным доступом к содержимому массива.

 

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии