在 Java 中只获取数组的一部分?
我在Java中有一个整数数组,我只想使用它的一部分。我知道在Python中你可以做类似这个数组[index:]的事情,它从索引中返回数组。在Java中,这样的事情是可能的吗?
我在Java中有一个整数数组,我只想使用它的一部分。我知道在Python中你可以做类似这个数组[index:]的事情,它从索引中返回数组。在Java中,这样的事情是可能的吗?
Java中数组的长度是不可变的。因此,您需要将所需部件复制到新数组中。
使用 java.util.Arrays 类中的方法:copyOfRange
int[] newArray = Arrays.copyOfRange(oldArray, startIndex, endIndex);
startIndex 是要复制的范围(包括)的初始索引。
endIndex 是要复制的范围的最终索引,独占。(此索引可能位于数组外部)
例如:
//index 0 1 2 3 4
int[] arr = {10, 20, 30, 40, 50};
Arrays.copyOfRange(arr, 0, 2); // returns {10, 20}
Arrays.copyOfRange(arr, 1, 4); // returns {20, 30, 40}
Arrays.copyOfRange(arr, 2, arr.length); // returns {30, 40, 50} (length = 5)
您可以将数组包装为列表,并请求它的子列表。
MyClass[] array = ...;
List<MyClass> subArray = Arrays.asList(array).subList(index, array.length);