Java でサブアレイを作成する

Hiten Kanwar 2023年1月30日 2021年10月12日
  1. copyOfRange() を使用して、Java の配列からサブ配列を作成する
  2. arraycopy() を使用して、Java の配列からサブ配列を作成する
Java でサブアレイを作成する

配列は必要な長さにすることができます。配列を宣言するときに、メモリを配列に割り当てます。宣言中に配列を初期化することもできます。場合によっては、配列から一部の要素のみを抽出する必要があります。

このチュートリアルでは、Java の別の配列からサブ配列を作成します。

copyOfRange() を使用して、Java の配列からサブ配列を作成する

Java は、配列の要素を別の配列にコピーする方法を提供します。copyOfRange() メソッドを使用できます。このメソッドは、プライマリ配列、開始インデックス、および終了インデックスをパラメーターとして受け取り、そのサブ配列を宛先配列にコピーします。

この関数は、java.util パッケージの一部です。JDK1.5 以降に導入されました。

次のコードを参照してください。

import java.util.Arrays;
public class Main{

     public static void main(String []args){
         int a[] = {3, 5, 8, 4, 6, 7};
         int[] b = Arrays.copyOfRange(a, 2, 4);
         for (int i : b)
            System.out.print(i + "  ");
     }
}

出力:

8 4

arraycopy() を使用して、Java の配列からサブ配列を作成する

arraycopy() 関数は、java.lang.System クラスで使用できます。ソース配列、開始インデックス、宛先配列、終了インデックス、および長さとして引数を取ります。

例えば、

import java.lang.*;
public class Main{

     public static void main(String []args){
         int[] a = new int[] {3, 5, 8, 4, 6, 7};
         int[] b = new int[3];
         System.arraycopy(a, 1, b, 0, 3); 
         for (int i : b)
            System.out.print(i + "  ");
     }
}

出力:

5 8 4

これにより、指定された開始インデックスから終了インデックスへの要素が目的の配列にコピーされます。

関連記事 - Java Array