Java에서 배열에 요소를 추가하는 방법은 무엇입니까?

크기 n의 배열이 주어지면 작업은 Java에서 이 배열에 요소 x를 추가하는 것입니다. 배열의 크기는 C/C++에서 수행되는 것처럼 Java에서 동적으로 변경할 수 없습니다. 따라서 배열에 요소를 추가하려면 다음 방법 중 하나를 수행할 수 있습니다.

  1. 새 배열을 생성하면 다음과 같습니다.
    • n+1 크기의 새 배열을 만듭니다. 여기서 n은 원래 배열의 크기입니다.
    • 이 배열에 원래 배열의 n개 요소를 추가합니다.
    • n+1번째 위치에 새 요소를 추가합니다.
    • 새 배열을 인쇄합니다.

다음은 위의 접근 방식을 구현한 것입니다.

자바




// Java Program to add an element in an Array> > import> java.io.*;> import> java.lang.*;> import> java.util.*;> > class> GFG {> > > // Function to add x in arr> > public> static> int> [] addX(> int> n,> int> arr[],> int> x)> > {> > int> i;> > > // create a new array of size n+1> > int> newarr[] => new> int> [n +> 1> ];> > > // insert the elements from> > // the old array into the new array> > // insert all elements till n> > // then insert x at n+1> > for> (i => 0> ; i newarr[i] = arr[i]; newarr[n] = x; return newarr; } // Driver code public static void main(String[] args) { int n = 10; int i; // initial array of size 10 int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // print the original array System.out.println('Initial Array: ' + Arrays.toString(arr)); // element to be added int x = 50; // call the method to add x in arr arr = addX(n, arr, x); // print the updated array System.out.println(' Array with ' + x + ' added: ' + Arrays.toString(arr)); } }>

 Output: Initial Array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Array with 50 added: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 50] 

시간 복잡도: O(N)

보조 공간: O(N)

  1. ArrayList를 중간 저장소로 사용:
  • 만들기 배열목록 원래 배열을 사용하여 asList() 방법.
  • 다음을 사용하여 목록에 필요한 요소를 추가하기만 하면 됩니다. 추가하다() 방법
  • 다음을 사용하여 목록을 배열로 변환합니다. toArray() 방법

자바




// Java Program to add an element in an Array> > > import> java.io.*;> > import> java.lang.*;> > import> java.util.*;> > > class> GFG {> > > // Function to add x in arr> > public> static> Integer[] addX(> int> n, Integer arr[],> int> x)> > {> > int> i;> > > // create a new ArrayList> > List arrlist> > => new> ArrayList(> > Arrays.asList(arr));> > > // Add the new element> > arrlist.add(x);> > > // Convert the Arraylist to array> > arr = arrlist.toArray(arr);> > > // return the array> > return> arr;> > }> > > // Driver code> > public> static> void> main(String[] args)> > {> > > int> n => 10> ;> > int> i;> > > // initial array of size 10> > Integer arr[]> > = {> 1> ,> 2> ,> 3> ,> 4> ,> 5> ,> 6> ,> 7> ,> 8> ,> 9> ,> 10> };> > > // print the original array> > System.out.println(> 'Initial Array: '> > + Arrays.toString(arr));> > > // element to be added> > int> x => 50> ;> > > // call the method to add x in arr> > arr = addX(n, arr, x);> > > // print the updated array> > System.out.println(> ' Array with '> + x> > +> ' added: '> > + Arrays.toString(arr));> > }> > }>

  Output:   Initial Array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Array with 50 added: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 50] 

시간 복잡도: O(N)

보조공간 : O(N)