Javaで配列の一部だけを取得しますか? [重複] 質問する

Javaで配列の一部だけを取得しますか? [重複] 質問する

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)

おすすめ記事