[Java]リスト(List)の先頭からN個の要素を取得するには?

Java

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

リスト(ArrayList)の先頭からN個の要素を取得する方法を紹介します。

スポンサーリンク

方法

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

リスト(ArrayList)の先頭からN個の要素を取得する方法は、2つあります。

subList()

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

まず、リストからsubList()を呼び出します。

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

//N=取得する要素数
List<T> firstN = list.subList(0, N);

上記のsubList()は、呼び出したリストの先頭からN個(N=第2引数の値)の要素を取得します。

使用例

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        List<Integer> numbers = new ArrayList<Integer>(5);
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        numbers.add(6);
  
        List<Integer> firstN = numbers.subList(0, 3);
        
        System.out.println(firstN);
        
    }
}
出力:
[1, 2, 3]

stream()

もう1つは、stream()を使う方法です。

まず、リストからstream()を呼び出します。

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

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

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

//N=取得する要素数
List<Integer> firstN = list.stream().limit(N).toList();

上記のtoList()は、stream()を呼び出したリストの先頭からN個の要素をリストとして取得します。

使用例

import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        List<Integer> numbers = new ArrayList<Integer>(5);
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        numbers.add(6);
  
        List<Integer> firstN = numbers.stream().limit(3).toList();
        
        System.out.println(firstN);
        
    }
}
出力:
[1, 2, 3]

まとめ

リスト(List)の先頭からN個の要素を取得する方法は、次の2つです。

  • subList()を使う方法
    List<T> firstN = list.subList(0, N);
  • stream()を使う方法
    List<Integer> firstN = list.stream().limit(N).toList();

コメント

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