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



for (int [] tmp1:coord) {

for (int tmp2:tmp1) {

Для переменной tmp1 заявлен тип int [] с квадратными скобками, потому что элементы внешнего массива сами являются массивами (т.е. во внешнем цикле мы перебираем массивы). Для переменной tmp2 заявлен тип int без квадратных скобок, потому что элементы вложенного массива являются целыми числами.

Значения, выведенные на печать, разделяются символами табуляции при помощи служебной последовательности «\t»:

System.out.println (tmp2+"\t»);

5.3 Методы для операций с массивами

Для работы с массивами в языке Java предусмотрены стандартные методы, которые описаны в классе java.util.Arrays. Перед обращением к методам необходимо импортировать класс:

import java.util.Arrays;

Напомним, что команды импорта должны располагаться сразу после оператора именования пакета, но перед объявлением главного класса. Если используется пакет по умолчанию, то программа начинается непосредственно с импорта классов.

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

https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html

equals () – метод применяется для сравнения массивов. Как вы уже знаете, переменная массива хранит ссылку на массив. Если два массива абсолютно одинаковые, но хранятся в разных местах, то у них будут разные ссылки и простое сравнение переменных вернет отрицательный результат false. Поэтому для сравнения массивов применяется специальный метод, который сравнивает количество ячеек, содержимое ячеек и порядок их расположения. Если хотя бы один из параметров не совпадает, результат сравнения будет отрицательным. Например, возьмем три массива:

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 (). Допустим, у нас есть отсортированный массив: