如何在Java中将元素添加到数组?

2021年3月12日14:51:04 发表评论 652 次浏览

给定大小为n的数组, 任务是在Java中的此数组中添加元素x。

数组的大小无法在Java中动态更改, 就像在C / C ++中那样。因此, 为了在数组中添加元素, 可以执行以下方法之一:

通过创建一个新数组:

  • 创建一个大小为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 < n; 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:\n"
                            + 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( "\nArray with " + x
                            + " added:\n"
                            + Arrays.toString(arr));
     }
}

输出如下:

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]

通过使用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<Integer> arrlist
             = new ArrayList<Integer>(
                 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:\n"
                            + 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( "\nArray with " + x
                            + " added:\n"
                            + Arrays.toString(arr));
     }
}

输出如下:

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]

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: