[Java]配列(Array)の先頭からN個の要素を取得するには?

Java

どうも、ちょげ(@chogetarou)です。

配列(Array)の先頭からN個の要素を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列(Array)の先頭からN個の要素を取得する方法は、3つあります。

copyOf()

1つ目は、copyOf()を使う方法です。

まず、ArraysからcopyOf()を呼び出します。

そして、Arrays.copyOf()の第1引数に配列、第2引数に取得する要素数を指定します。

//N=取得する要素数
T[] firstN = Arrays.copyOf(array, N);

上記のArrays.copyOf()は、第1引数に指定した配列の先頭からN個の要素を取得します。

使用例

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        int[] numbers = new int[]{ 1, 2, 3, 4, 5, 6 };
        
        int n = 3;
        int[] firstN = Arrays.copyOf(numbers, n);
        
        for (int i : firstN) {
            System.out.print(i + ",");
        }
    }
}
出力:
1,2,3,

copyOfRange()

2つ目は、copyOfRange()を使う方法です。

まず、ArraysからcopyOfRange()を呼び出します。

Arrays.copyOfRange()の第1引数に配列を指定します。

そして、Arrays.copyOfRange()の第2引数に0、第3引数に取得する要素数を指定します。

//N=取得する要素数
T[] firstN = Arrays.copyOfRange(array, 0, n);

上記のArrays.copyOfRange()は、第1引数に指定した配列の先頭からN個の要素を取得します。

使用例

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        int[] numbers = new int[]{ 1, 2, 3, 4, 5, 6 };
        
        int n = 3;
        int[] firstN = Arrays.copyOfRange(numbers, 0, n);
        
        for (int i : firstN) {
            System.out.print(i + ",");
        }
    }
}
出力:
1,2,3,

stream()

3つ目は、stream()を使う方法です。

まず、Arraysからstream()を呼び出します。

stream()の引数に配列を指定します。

次に、stream()からlimit()を呼び出します。

limit()の引数に取得する要素数を指定します。

そして、limit()からtoArray()を呼び出します。

//N=取得する要素数
T[] firstN = Arrays.stream(array).limit(N).toArray();

上記のtoArray()は、stream()の引数に指定した配列の先頭からN個の要素を配列として返します。

使用例

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        int[] numbers = new int[]{ 1, 2, 3, 4, 5, 6 };
        
        int n = 3;
        int[] firstN = Arrays.stream(numbers).limit(n).toArray();
        
        for (int i : firstN) {
            System.out.print(i + ",");
        }
    }
}
出力:
1,2,3,

まとめ

配列(Array)の先頭からN個の要素を取得する方法は、次の3つです。

  • copyOf()を使う方法
    T[] firstN = Arrays.copyOf(array, N);
  • copyOfRange()を使う方法
    T[] firstN = Arrays.copyOfRange(array, 0, n);
  • stream()を使う方法
    T[] firstN = Arrays.stream(array).limit(N).toArray();

コメント

タイトルとURLをコピーしました