Как в новый пустой массив добавить определённое значение из другого массива?

Например:

int[] arr = new int[] {4, 6, 1, 2, 1, 2, 1, 2, 3, 5, 4, 7, 4, 1, 5, 1, 5, 6};
int[] NewArr = new int[] {};

Из массива arr добавить 2 и 3 элемент в массив NewArr, чтобы в новом массиве было только два этих новых элемента.


Ответы (4 шт):

Автор решения: Дмитрий

В Джаве массив не является динамическим, то есть его размер должен был определен при инициализации. Если вы объявили его пустым, то он останется пустой. В вашем случае задача решается немного иначе:

int[] arr = new int[] {4, 6, 1, 2, 1, 2, 1, 2, 3, 5, 4, 7, 4, 1, 5, 1, 5, 6};
int[] newArr = Arrays.copyOfRange(arr, 2, 4);
→ Ссылка
Автор решения: Vadik

Вы создали массив нулевой длины. В языке Java невозможно изменить размер массива после его создания.

Сначала создайте массив нужного размера:

int[] newArr = new int[2];

Потом выполните необходимые манипуляции:

newArr[0] = arr[2];
newArr[1] = arr[3];

Если вам нужны динамические массивы, то используйте Java-коллекции.

→ Ссылка
Автор решения: Byb

Если под добавлением в массив вы подразумеваете нечто вроде newArr.add(5), то обычный массив в Java так не умеет. Если вам нужно что-то добавлять в массив, расширяя его на ходу, для этого стоит использовать класс ArrayList. Например: ArrayList<Integer> newArr = new ArrayList<>(), и затем newArr.add(arr[2]); newArr.add(arr[3]).

→ Ссылка
Автор решения: стасевич

у массива есть свойтво - length - его вместимость(размерность)...

int[] arr = new int[] {4, 6, 1, 2, 1, 2, 1, 2, 3, 5, 4, 7, 4, 1, 5, 1, 5, 6};
        int[] NewArr = new int[arr.length];  

и мы получим новый массив размерностью предыдущего

 System.out.println(NewArr.length); // 18
→ Ссылка