Как скопировать массив?

Перечислим основные методы:

  • Object.clone() копирует массив полностью, не имеет никаких аргументов;
  • System.arraycopy() переносит данные из одного массива, начиная с заданной позиции в целевой массив (вставка начинается с заданной позиции);
  • Arrays.copyOf() копирует исходный массив, усекая его или дополняя нулями, чтобы копия имела заданную длину;
  • Arrays.copyOfRange() записывает часть исходного массива, от начального до конечного индекса, в новый.

Также возможно скопировать массив через поток. Этот способ рекомендуется использовать, когда необходимо, чтобы при копировании выполнялись дополнительные операции.

При использовании всех перечисленных методов создаётся поверхностная копия массивов, то есть они оба ссылаются на одинаковые объекты. Глубокую копию можно создать вручную. Для этого создаётся новый массив, с помощью оператора new. После чего его необходимо заполнить в цикле нужными элементами.

Для создания тестов можно использовать такой метод: сериализация и десериализация.

Учитесь в сообществе

AI Sprints — обучение профессиям с ИИ

Peer review и код от других студентов. Код-ревью от менторов. Учитесь не в одиночку, а в команде

  • Peer review: проверяйте код других и получайте фидбек на свой — учитесь видеть ошибки
  • Сообщество: чаты, обсуждения, помощь друг другу — не застрянете в одиночку
  • Менторы: код-ревью от практикующих разработчиков на сложные задачи
Присоединиться →
🎁 Бесплатно · 5 дней

AI Challenge — собери чат-бота за 5 дней

Бесплатный марафон по AI-инжинирингу. Cursor + OpenAI, 60 минут в день — без опыта в программировании. К пятнице у вас будет рабочий чат-бот с памятью в браузере.

  • Практика с первого дня, без теории «в стол»
  • Готовый проект в портфолио к концу недели
  • Старт в любой день — учитесь в своём темпе
Начать бесплатно →
Учитесь в сообществе AI Sprints — обучение профессиям с ИИ
Присоединиться →

Бесплатная диагностика с сениор разработчиком

Запишитесь на консультацию — перезвоним в рабочие часы

Или свяжитесь удобным способом

Вам также может быть интересно

Узнать подробнее
Курс AI Sprints

Глубокое обучение Android разработке с 0 до получения оффера. Только персональная практика с гарантией получения продуктового опыта.

Курс AI Sprints - Глубокое <strong>обучение Android разработке с 0 до получения оффера</strong>. Только персональная практика с гарантией получения продуктового опыта.
Узнать подробнее
Узнать подробнее
Практикум по Kotlin

Изучение Котлин с 0 для профессиональной разработки. Личный ментор и разбор кода задач через git-flow.

Практикум по Kotlin - Изучение Котлин <strong>с 0 для профессиональной разработки</strong>. Личный ментор и разбор кода задач через git-flow.
Узнать подробнее
Узнать подробнее
Бесплатные уроки по Kotlin разработке

Самостоятельное освоение базы по языку для дальнейшего развития в Android/back-end разработке или в автотестах.

Бесплатные уроки по Kotlin разработке - <span>Самостоятельное освоение базы по языку для дальнейшего развития в Android/back-end разработке или в автотестах.</span>
Узнать подробнее
Узнать подробнее
Onboarding в разработку

Полное обучение Android разработке с нуля до получения оффера. Делаем упор на практику и обратную связь

Onboarding в разработку - <span>Полное обучение Android разработке с нуля до получения оффера. Делаем упор на практику и обратную связь</span>
Узнать подробнее
Узнать подробнее
Обучающий Kotlin телеграм бот (с тестами)

Ваш основной инструмент для изучения основ языка. Бесплатные тесты и практика внутри.

Обучающий Kotlin телеграм бот (с тестами) - Ваш основной <span>инструмент для изучения основ языка.</span> Бесплатные тесты и практика внутри.
Узнать подробнее
Узнать подробнее
Бесплатные уроки по Android разработке

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

Бесплатные уроки  по Android разработке - Самостоятельное <span>обучение разработке Андроид приложений.</span> Понятные видеоуроки с разжеванными примерами.
Узнать подробнее
Узнать подробнее
Курс по UI/Unit тестированию

Для ручных тестировщиков, которые готовы осваивать автотесты с использованием актуального стека технологий. [в разработке]

Курс по UI/Unit тестированию - Для ручных тестировщиков, которые <span>готовы осваивать автотесты</span> с использованием актуального стека технологий. [в разработке]
Узнать подробнее
Узнать подробнее
Обучающий Android телеграм бот (с тестами)

Бесплатные теоретические тесты для самопроверки. А также информер на практических спринтах по Android.

Обучающий Android телеграм бот (с тестами) - Бесплатные <span>теоретические тесты для самопроверки.</span> А также информер на практических спринтах по Android.
Узнать подробнее
ИИ-ментор код-ревью и голосовые собесы
Открыть