In python we are able to do the following:
array = [0,1,2,3,4,5,6,7,8,9,10] new_array= array[::3] print(new_array) >>>[0,3,6,9]
Is there an equivalent to this in Java? I have been looking for this type of array slicing, but I have had no luck. Any help would be great, Thanks!
Advertisement
Answer
If you are using Java 8, then you can make use of streams and do the following:
int [] a = new int [] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // filter out all indices that evenly divide 3 int [] sliceArr = IntStream.range(0, a.length).filter(i -> i % 3 == 0) .map(i -> a[i]).toArray(); System.out.println(Arrays.toString(sliceArr));
Outputs: [0, 3, 6, 9]