Копирование массива Java: методы создания копий массива

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

  1. Использование цикла For:

    int[] sourceArray = {1, 2, 3, 4, 5};
    int[] destinationArray = new int[sourceArray.length];
    for (int i = 0; i < sourceArray.length; i++) {
       destinationArray[i] = sourceArray[i];
    }
  2. Использование метода System.arraycopy():

    int[] sourceArray = {1, 2, 3, 4, 5};
    int[] destinationArray = new int[sourceArray.length];
    System.arraycopy(sourceArray, 0, destinationArray, 0, sourceArray.length);
  3. Использование метода Arrays.copyOf():

    int[] sourceArray = {1, 2, 3, 4, 5};
    int[] destinationArray = Arrays.copyOf(sourceArray, sourceArray.length);
  4. Использование метода Arrays.copyOfRange():

    int[] sourceArray = {1, 2, 3, 4, 5};
    int[] destinationArray = Arrays.copyOfRange(sourceArray, 0, sourceArray.length);
  5. Использование метода clone()(работает только для ссылочных типов):

    int[] sourceArray = {1, 2, 3, 4, 5};
    int[] destinationArray = sourceArray.clone();

Эти методы создают новый массив и копируют элементы из исходного массива в целевой массив, гарантируя, что изменения, внесенные в один массив, не повлияют на другой.