Размер шрифта
-
+

Java за неделю. Вводный курс - стр. 30

int [] arr1 = {5,3,4,6,8,10};

int [] arr2 = {5,3,4,6,8,10};

int [] arr3 = {10,8,6,4,3,5};

boolean result1 = Arrays. equals (arr1, arr2);

boolean result2 = Arrays. equals (arr1, arr3);

Сравнение массивов arr1 и arr2 вернет результат true, потому что массивы совпадают по всем параметрам. Сравнение массивов arr1 и arr3 вернет результат false, поскольку у них не совпадает порядок расположения значений.

copyOfRange () – копирование фрагмента исходного массива в другой массив. Методу требуются три аргумента: источник, начальный индекс, конечный индекс. Допустим, у нас объявлен массив:

int [] source = {-2, -1,0,1,2,3,4,5,6};

После выполнения команды

int [] dest = Arrays.copyOfRange (source,2,5);

в новый массив будут скопированы значения {0,1,2}. Обратите внимание, что копируются элементы с индексом до второго значения, но не включая его. Поэтому элемент с индексом 5 не будет скопирован.

toString () – преобразование содержимого массива в строку. Это простой способ вывести содержимое массива на печать, например:

int [] arr = {3,8,10,1,6};

System.out.println(Arrays.toString (arr));

На печать будет выведена строка [3, 8, 10, 1, 6].

sort () – сортировка элементов массива по возрастанию. Метод sort () не возвращает новый массив. Он просто модифицирует имеющийся. Допустим, мы объявили массив и выполнили сортировку:

int [] arr = {10,3, -1,6,0};

Arrays.sort (arr);

System.out.println(Arrays.toString (arr));

На печать будет выведена строка [-1, 0, 3, 6, 10].

binarySearch () – поиск индекса заданного значения в отсортированном массиве. Если вы не уверены, что значения элементов массива расположены по возрастанию, то перед использованием метода binarySearch () необходимо отсортировать массив при помощи метода sort (). Допустим, у нас есть отсортированный массив:

int [] arr = {2,7,15,42,56,78};

int myIndex = Arrays.binarySearch (arr, 56);

Переменной myIndex будет присвоено значение 4. Это индекс элемента массива, имеющего значение 56.

Что случится, если в качестве аргумента указать значение, которого нет в массиве? Мы получим странный результат, который требует отдельных пояснений. Например, попробуем найти индекс для значения 18:

int myIndex = Arrays.binarySearch (arr, 18);

Переменной myIndex будет присвоено значение -4. Минус означает, что такое значение не найдено. Число 3 означает, какой у этого значения был бы индекс, если бы оно было в массиве. Но к этому индексу зачем-то прибавлена единица! Иными словами, если бы в массиве arr имелось значение 18, то у него был бы индекс 4—1=3.

Как мы уже упоминали в предыдущем разделе, длина массива (количество элементов) определяется через свойство length, поэтому метод для определения длины массива не применяется.

Страница 30