Although there are inbuilt method in the commons.lang library using which we can remove the element in array with just a single statement , we will first approach this using a custom method to see how this is done internally.

1. Removing array element with custom method.

public class ArrayRemove {

    public static void main(String args[]) {
        int[] myIntArray = { 12, 13, 14, 15, 16 };
        System.out.println("Original Array " + Arrays.toString(myIntArray));
        int index = findIndexOf(myIntArray, 14);
        int[] newIntArray = removeElement(myIntArray, index);
        System.out.println("New Array " + Arrays.toString(newIntArray));
    }

    public static int[] removeElement(int[] intArray, int index) {
        int[] myNewArray = new int[intArray.length - 1];
        for (int i = 0; i < index; i++) {
            myNewArray[i] = intArray[i];
        }
        for (int i = index + 1; i < intArray.length; i++) {
            myNewArray[i - 1] = intArray[i];
        }
        return myNewArray;
    }

    public static int findIndexOf(int[] intArray, int element) {
        for (int i = 0; i < intArray.length; i++) {
            if (intArray[i] == element)
                return i;
        }
        return -1;
    }

}

2. Using Commons lang utility method.

We can solve this using ArrayUtils API provided under apache commons lang package.

import java.util.Arrays;
import org.apache.commons.lang3.ArrayUtils;

public class ArrayRemove1 {
    
    public static void main(String args[]){
        int[] myIntArray = { 12, 13, 14, 15, 16 };
        System.out.println("Original Array " + Arrays.toString(myIntArray));
        int[] newArray = ArrayUtils.removeElement(myIntArray, 14);
        System.out.println("New Array " + Arrays.toString(newArray));
    }

}
Comments