Java で整数の配列を持っていますが、その一部だけを使いたいです。Python では、array[index:] のようにして、インデックスから配列を返すことができることは知っています。Java でもこのようなことは可能ですか。
ベストアンサー1
Java の配列の長さは不変です。そのため、必要な部分を新しい配列にコピーする必要があります。
使用copyOfRange
方法からjava.util.Arrays
クラス:
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)