Методы массивов
Часть раздела Основы путешествия по Java на Coddy. Урок 61 из 73.
Массивы содержат множество методов (функциональностей). Чтобы получить доступ к методу, напишите:
Arrays.methodName(arrayName, otherParameters)Вот список основных методов:
fill(array, value)— заполняет массив определённым значением
toString()— преобразует массив в строку
sort(array)— сортирует массив в порядке возрастания
equals(array1, array2)— сравнивает два массива, чтобы определить, равны ли они
Вот пример использования метода fill с toString:
int[] numbers = new int[5];
Arrays.fill(numbers, 10);
System.out.println(Arrays.toString(numbers));В результате будет выведено [10, 10, 10, 10, 10].
Пример метода sort:
int[] numbers = {5, 2, 9, 1, 5, 6};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));В результате будет выведено [1, 2, 5, 5, 6, 9].
Задание
ЛегкоСоздай метод с именем merge, который получает два массива в качестве аргументов. Метод объединяет два массива в один отсортированный массив и возвращает его.
Важно: итоговый объединённый массив должен быть отсортирован в порядке возрастания.
Например, следующие аргументы: merge(new String[] {"1", "4", "2"}, new String[] {"2", "5", "9"}) вернут ["1", "2", "2", "4", "5", "9"] (обрати внимание, что результат отсортирован)
Используй System.arraycopy(), чтобы копировать элементы из одного массива в другой. Синтаксис:
System.arraycopy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)System.arraycopy() копирует только в уже существующий массив; он никогда не увеличивает размер массива назначения. Сначала создай объединённый массив с arr1.length + arr2.length ячейками, скопируй arr1 в позицию 0, затем скопируй arr2, начиная с позиции arr1.length.
Например:
// Source array
String[] sourceArray = {"1", "2", "3", "4", "5"};
// Destination array
String[] destinationArray = new String[5];
// Copy elements from sourceArray to destinationArray
System.arraycopy(sourceArray, 0, destinationArray, 0, 5);Массив назначения после копирования: 1 2 3 4 5
Попробуйте сами
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static String[] merge(String[] arr1, String[] arr2) {
// Напишите код здесь
return null;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String textArr1 = scanner.nextLine();
String textArr2 = scanner.nextLine();
String[] arr1 = textArr1.split(",");
String[] arr2 = textArr2.split(",");
String[] mergedArray = merge(arr1, arr2);
System.out.println(Arrays.toString(mergedArray));
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент/декрементПостфиксный инкремент/декрементСокращённые арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Методы System.outФорматирование выводаКласс ScannerПовторение — до 120Повторение — истина или ложь5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 411Основы массивов
Объявление массивовДоступ к элементамИзменение массивовМетоды массивовПовторение — массив произведенийПовторение — перевёрнутый массив3Переменные. Часть 2
КонстантыСоглашения об именованииПовторение — инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор IfIf — ElseОператор SwitchТернарный операторПовторение: If — ElseВложенный If — Else9Циклы
Цикл for. Часть 1Цикл whileЦикл do whileBreakContinueЦикл for. Часть 2Вложенный циклБесконечный циклПовторение — динамический ввод12Итерация по массивам
Использование цикла forРасширенный цикл forРаспространённые операции с массивамиПотренируйтесь самостоятельно: Онлайн-компилятор Java