# Java Array Tutorials
# Java Array Programs
➤ Find Length of Array
➤ Different ways to Print Array
➤ Sum of Array Elements
➤ Average of Array Elements
➤ Sum of Two Arrays Elements
➤ Compare Two Arrays in Java
➤ 2nd Largest Number in Array
➤ How to Sort an Array in Java
➤ Reverse an Array in Java
➤ GCD of N Numbers in Java
➤ Linear Search in Java
➤ Binary Search in Java
➤ Copy Array in Java
➤ Merge 2 Arrays in Java
➤ Merge two sorted Arrays
➤ Largest Number in Array
➤ Smallest Number in Array
➤ Remove Duplicates
➤ Insert at Specific Position
➤ Add Element to Array
➤ Remove Element From Array
➤ Count Repeated Elements
➤ More Array Programs
Java Matrix Programs
➤ Matrix Tutorial in Java
➤ Print 2D Array in Java
➤ Print a 3×3 Matrix
➤ Sum of Matrix Elements
➤ Sum of Diagonal Elements
➤ Row Sum – Column Sum
➤ Matrix Addition in Java
➤ Matrix Subtraction in Java
➤ Transpose of a Matrix in Java
➤ Matrix Multiplication in Java
➤ Menu-driven Matrix Operations
In this post, we will see how to add an element to the array in Java. Adding an element to the array means inserting an element at the end of the array. Also see:- How to Insert element to array at a specific position in Java.
We can solve this problem in two ways,
a) By creating a new array.
b) By taking the help of ArrayList.
Add Element to Array in Java by creating a new array
In this approach,
a) Create a new array of n+1 size, where n is the size of the original array where an element should be added.
b) Copy all elements of the original array to the new array.
c) Insert element to the end.
d) Return the new array, i.e. now the array variable which was pointing to the original array will point to the new array.
Let us demonstrate it through an example. Java program to add an element to array in Java by creating a new array,
import java.util.Arrays; public class ArrayTest { // method to add element to array and return new array public static int[] addElement(int[] arr, int element) { // create new array of size n+1 int temp[] = new int[arr.length+1]; // copy all existing element for (int i = 0; i < arr.length; i++) { temp[i] = arr[i]; } // insert last element temp[arr.length] = element; // return new array return temp; } public static void main(String[] args) { // original array int arr[] = { 30, 50, 20, 40, 10}; // new element to be added int element = 99; // display old array System.out.println("Original array: " + Arrays.toString(arr)); // add element arr = addElement(arr, element); // display new array System.out.println("New array: " + Arrays.toString(arr)); } }
Output:-
Original array: [30, 50, 20, 40, 10]
New array: [30, 50, 20, 40, 10, 99]
In this method, to copy the original array to a new array we have used normal for loop, but we can also use the System.arraycopy() method which is a native method and uses a direct memory copy outside of Java land. The native method is implemented in platform-dependent code, typically written in another programming language such as C, C++, FORTRAN, or assembly language. The arraycopy() is likely the fastest way to copy an array, and it gives better performance compared to normal array copy using loops. Learn more about it:- System.arraycopy() method in Java
The same method by using System.arraycopy() method can be written as,
// method to add element to array and return new array public static int[] addElement(int[] arr, int element) { // create new array of size n+1 int temp[] = new int[arr.length+1]; // copy all existing element System.arraycopy(arr, 0, temp, 0, arr.length); // insert last element temp[arr.length] = element; // return new array return temp; }
With the help of ArrayList
In this method, we will use ArrayList as a helper. Here the operations will be performed as,
a) Create a new ArrayList with the original array, with the help of Array.asList() method.
b) Add new element to list using add() method.
c) Convert the list to an array using the toArray() method.
Note:- In this approach, the array should be of wrapper type (Integer, Double, Float, and e.t.c.), not of primitive types.
Let us demonstrate it through an example,
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class ArrayTest { // method to add element to array and return new array public static Integer[] addElement(Integer[] arr, int element) { // create ArrayList with original array List<Integer> list = new ArrayList<Integer>(Arrays.asList(arr)); // add new element to arrayList list.add(element); // return array (after converting list to array) return list.toArray(arr); } public static void main(String[] args) { // original array Integer arr[] = { 30, 50, 20, 40, 10}; // new element to be added int element = 99; // display old array System.out.println("Original array: " + Arrays.toString(arr)); // add element arr = addElement(arr, element); // display new array System.out.println("New array: " + Arrays.toString(arr)); } }
Output:-
Original array: [30, 50, 20, 40, 10]
New array: [30, 50, 20, 40, 10, 99]
In these examples, to display the array we have used the Arrays.toString() method. The Arrays.toString() method returns a string representation of the contents of the specified array. The string representation consists of a list of the array’s elements, enclosed in square brackets “[]
” and the adjacent elements are separated by the characters “, ” (a comma followed by a space). It Returns “null” if the passed array is null. Learn more:- Arrays.toString() method in Java
If you enjoyed this post, share it with your friends. Do you want to share more information about the topic discussed above or do you find anything incorrect? Let us know in the comments. Thank you!
Nice article.