logo

Додайте елементи до масиву в Java

Масив — це набір подібних типів елементів, що зберігаються в безперервних місцях пам’яті. Основна перевага масиву полягає в тому, що ми можемо отримати довільний доступ до елементів масиву, тоді як до елементів зв’язаного списку неможливо отримати довільний доступ.

в Java , Масиви є змінними типами даних, тобто розмір масиву є фіксованим, і ми не можемо безпосередньо додати новий елемент у масив. Однак існують різні способи додавання елементів до масиву. Припустімо, у нас є масив arr, і нам потрібно додати до нього елементи. Ми можемо використовувати такі методи, щоб додати елементи до arr.

  1. Створюючи масив більшого розміру, ніж arr.
  2. За допомогою ArrayList
  3. Зрушенням елемента регулюють розмір обр.

Давайте поглянемо зсередини на описані способи.

Створення масиву більшого розміру

Щоб додати елементи в масив Java, ми можемо створити інший масив більшого розміру та скопіювати всі елементи з нашого масиву в інший масив і розмістити нове значення в останньому місці новоствореного масиву. Однак це неефективний спосіб додати елемент до масиву. У наведеному нижче прикладі елемент 7 додається до масиву arr за допомогою щойно створеного масиву newArr. Розглянемо наступний приклад.

 import java.util.Arrays; public class ArrayExample { public static void main(String[] args) { // TODO Auto-generated method stub int arr[] = {1,2,3,4,5,6}; int n = arr.length; int newArr[] = new int[n+1]; int value = 7; System.out.println(Arrays.toString(arr)); for(int i = 0; i<n; i++) { newarr[i]="arr[i];" } newarr[n]="value;" system.out.println(arrays.tostring(newarr)); < pre> <h3>Using ArrayList</h3> <p>We can use <a href="/java-arraylist">ArrayList</a> as the intermediate structure and add the elements into the ArrayList using the add () method. ArrayList is a data structure that allows us to dynamically add elements. However, we can convert the ArrayList to the array by using the toArray() method. Hence this process involves the following steps.</p> <ol class="points"> <li>Convert Array into ArrayList using asList() method.</li> <li>Add elements into the array list using the add() method.</li> <li>Convert the ArrayList again to the array using the toArray() method.</li> </ol> <p>Consider the following example.</p> <pre> import java.util.ArrayList; import java.util.Arrays; public class JavaAddElementUsingList { public static void main(String[] args) { // TODO Auto-generated method stub Integer arr[] = {1,2,3,4,5,6}; System.out.println(&apos;Array:&apos;+Arrays.toString(arr)); ArrayList arrayList = new ArrayList(Arrays.asList(arr)); arrayList.add(7); arr = arrayList.toArray(arr); System.out.println(&apos;Array after adding element: &apos;+Arrays.toString(arr)); } } </pre> <p> <strong>Output:</strong> </p> <pre> Array:[1, 2, 3, 4, 5, 6] Array after adding element: [1, 2, 3, 4, 5, 6, 7] </pre> <h3>Shifting elements to adjust the size of the array</h3> <p>In this method, we will add the elements to the specified index in the array. Likewise, the above two processes will use a new destination array with a larger size than the original array. However, it will be tricky to shift the destination array elements after copying all elements from the original array to destination array.</p> <p>In this method, we will,</p> <ol class="points"> <li>Create a new destination array with a larger size than the original array.</li> <li>Copy all the elements from the original array to the new destination array</li> <li>Shift the elements after the given index to the right until it reaches the end of the array.</li> <li>Insert the new element at the given index.</li> </ol> <p>Consider the following example in which we will add a specific value at the given index 3 in the original array using a destination array.</p> <pre> import java.util.Arrays; public class JavaAddElementArraySpecified { public static void main(String[] args) { Integer arr[] = {1,2,3,4,5,6}; int n = arr.length; int index = 3; System.out.println(&apos;Original Array: &apos;+Arrays.toString(arr)); Integer newArr[] = new Integer[n+1]; int j = 0; for(int i = 0; i<newarr.length; i++) { if(i="=index)" newarr[i]="7;" }else j++; } newarr[index]="7;" system.out.println('array after adding value: '+arrays.tostring(newarr)); < pre> <p> <strong>Output:</strong> </p> <pre> Original Array: [1, 2, 3, 4, 5, 6] Array after adding value: [1, 2, 3, 7, 4, 5, 6] </pre> <hr></newarr.length;></pre></n;>

Вихід:

 Array:[1, 2, 3, 4, 5, 6] Array after adding element: [1, 2, 3, 4, 5, 6, 7] 

Зсув елементів для регулювання розміру масиву

У цьому методі ми додамо елементи до вказаного індексу в масиві. Подібним чином два вищезазначені процеси використовуватимуть новий цільовий масив із більшим розміром, ніж вихідний масив. Однак буде складно перемістити елементи масиву призначення після копіювання всіх елементів з вихідного масиву в масив призначення.

У цьому методі ми будемо,

  1. Створіть новий цільовий масив із більшим розміром, ніж вихідний масив.
  2. Скопіюйте всі елементи з вихідного масиву в новий цільовий масив
  3. Зсувайте елементи після заданого індексу вправо, доки він не досягне кінця масиву.
  4. Вставте новий елемент за вказаним індексом.

Розглянемо наступний приклад, у якому ми додамо конкретне значення за заданим індексом 3 у вихідний масив, використовуючи масив призначення.

 import java.util.Arrays; public class JavaAddElementArraySpecified { public static void main(String[] args) { Integer arr[] = {1,2,3,4,5,6}; int n = arr.length; int index = 3; System.out.println(&apos;Original Array: &apos;+Arrays.toString(arr)); Integer newArr[] = new Integer[n+1]; int j = 0; for(int i = 0; i<newarr.length; i++) { if(i="=index)" newarr[i]="7;" }else j++; } newarr[index]="7;" system.out.println(\'array after adding value: \'+arrays.tostring(newarr)); < pre> <p> <strong>Output:</strong> </p> <pre> Original Array: [1, 2, 3, 4, 5, 6] Array after adding value: [1, 2, 3, 7, 4, 5, 6] </pre> <hr></newarr.length;>