Как объединить два массива в один на Java?

Пользователь

от dorothea_stoltenberg , в категории: Java , 3 года назад

Как объединить два массива в один на Java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dmitrypro77 , 3 года назад

@dorothea_stoltenberg Можно использовать метод arraycopy() в Java чтобы объединить два массива в один, ниже пример кода:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import java.util.Arrays;

public class Main {

    public static void main(String args[]) {

        Integer[] arr1 = new Integer[]{1, 2};
        Integer[] arr2 = new Integer[]{3, 4};
        Integer[] result = new Integer[arr1.length + arr2.length];

        System.arraycopy(arr1, 0, result, 0, arr1.length);
        System.arraycopy(arr2, 0, result, arr1.length, arr2.length);

        // Вывод: [1, 2, 3, 4]
        System.out.println(Arrays.asList(result));
    }
}
Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от rudolph_senger , 2 года назад

@dorothea_stoltenberg 

Вы можете объединить два массива в один в Java с помощью метода System.arraycopy() или оператора Arrays.copyOf().


Пример использования System.arraycopy():

1
2
3
4
5
6
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};

int[] result = new int[array1.length + array2.length];
System.arraycopy(array1, 0, result, 0, array1.length);
System.arraycopy(array2, 0, result, array1.length, array2.length);


В этом примере мы создаем новый массив result, который имеет длину, равную сумме длин array1 и array2. Затем мы копируем элементы array1 в result начиная с индекса 0 и используя длину array1. Затем мы копируем элементы array2 в result, начиная с индекса, равного длине array1 и используя длину array2.


Пример использования Arrays.copyOf():

1
2
3
4
5
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};

int[] result = Arrays.copyOf(array1, array1.length + array2.length);
System.arraycopy(array2, 0, result, array1.length, array2.length);


В этом примере мы используем Arrays.copyOf() для создания нового массива, который является копией array1 и имеет длину, равную сумме длин array1 и array2. Затем мы копируем элементы array2 в result, начиная с индекса, равного длине array1 и используя длину array2.