Sobes.tech
Back to questions
Junior — Middle
54

Можете объяснить, как осуществляется копирование элементов массива и какие есть способы клонирования массива?

Answer from AI

sobes.tech AI

В Java копирование элементов массива можно выполнить несколькими способами:

  1. Цикл for — самый простой способ, когда вручную копируем элементы по одному:
int[] source = {1, 2, 3};
int[] dest = new int[source.length];
for (int i = 0; i < source.length; i++) {
    dest[i] = source[i];
}
  1. Метод System.arraycopy — более эффективный способ копирования блоков массива:
int[] source = {1, 2, 3};
int[] dest = new int[source.length];
System.arraycopy(source, 0, dest, 0, source.length);
  1. Метод clone() — создает поверхностную копию массива:
int[] source = {1, 2, 3};
int[] dest = source.clone();
  1. Метод Arrays.copyOf — удобный способ копирования с возможностью изменить размер:
import java.util.Arrays;

int[] source = {1, 2, 3};
int[] dest = Arrays.copyOf(source, source.length);

Все эти способы создают поверхностную копию массива, то есть для массивов примитивных типов копируются значения, а для массивов объектов копируются ссылки на объекты.