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));
}
}