Java copy section of array
See the method Arrays.copyOfRange
There is a pre-existing method in the java.util.Arrays
: newArray = Arrays.copyOfRange(myArray, startindex, endindex)
. Or you could easily write your own method:
public static array[] copyOfRange(array[] myarray, int from, int to) {
array[] newarray = new array[to - from];
for (int i = 0 ; i < to - from ; i++) newarray[i] = myarray[i + from];
return newarray;
}
Here's a java 1.4 compatible 1.5-liner:
int[] array = { 1, 2, 3, 4, 5 };
int size = 3;
int[] part = new int[size];
System.arraycopy(array, 0, part, 0, size);
You could do this in one line, but you wouldn't have a reference to the result.
To make a one-liner, you could refactor this into a method:
private static int[] partArray(int[] array, int size) {
int[] part = new int[size];
System.arraycopy(array, 0, part, 0, size);
return part;
}
then call like this:
int[] part = partArray(array, 3);