Как в новый пустой массив добавить определённое значение из другого массива?
Например:
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);
Вы создали массив нулевой длины. В языке Java невозможно изменить размер массива после его создания.
Сначала создайте массив нужного размера:
int[] newArr = new int[2];
Потом выполните необходимые манипуляции:
newArr[0] = arr[2];
newArr[1] = arr[3];
Если вам нужны динамические массивы, то используйте Java-коллекции.
Если под добавлением в массив вы подразумеваете нечто вроде 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