【3分Java入門】Listのsizeメソッドで要素数を知る!

この記事ではListの要素数をsizeメソッドで調べる方法をわかりやすく解説します!

Listの要素数を知りたい
Listの初期化直後にsizeメソッドを呼ぶとどのような値が返ってくるの?
sizeメソッドを呼ぶ際に例外が発生する場合はどうしたらいいの?

今回はそんな悩みを解決するsizeメソッドの使い方についてです。

なお、Javaの記事については、こちらにまとめています。

目次

Listの要素数を調べる方法

Listはデータを追加したり、削除したりを繰り返すので現在の要素数がわからなくなることがあります。そんなときは、sizeメソッドを使うことでListの要素数を調べることができます!

sizeメソッドの使い方を覚えるために次のプログラムを見てみましょう。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
public class Main {
    public static void main(String[] args) throws Exception {
 
        List<String> list = new ArrayList<String>(Arrays.asList("s", "a", "m", "u", "r", "a", "i"));
         
        System.out.println("List = " + list);
        System.out.println("要素数 = " + list.size());
 
    }
}

[実行結果]

List = [s, a, m, u, r, a, i]
要素数 = 7

このようにsizeメソッドを使うことでListの要素数が確認できました!

Listを初期化直後にsizeメソッドを使った場合

初期化したばかりで空のListの場合には、要素がないので”0”が返ってきます。

次のプログラムで確認してみましょう。

import java.util.ArrayList;
import java.util.List;
 
public class Main {
    public static void main(String[] args) throws Exception {
 
        List<String> list = new ArrayList<String>();
         
        System.out.println("List = " + list);
        System.out.println("要素数 = " + list.size());
 
    }
}

[実行結果]

List = []
要素数 = 0

このように要素がない空のListにsizeメソッドを使うと”0”が返ってきます!

sizeメソッドを使うと例外が発生する場合

次はListがnullの場合ですが、Listが空の場合と違ってnullの場合はNullPointerExceptionの例外が発生するので注意が必要です。

次のプログラムで確認してみましょう。

List<String> list = null;
		
System.out.println("List = " + list);
System.out.println("要素数 = " + list.size());

[実行結果]

List = null
Exception in thread "main" java.lang.NullPointerException

Listがnullの状態でsizeメソッドを使うと例外が発生するので注意してください。

まとめ

いかがでしたか?

今回はListの要素数をsizeメソッドで調べる方法について解説しました。sizeメソッドはListのループの処理などでよく使われるのでぜひ覚えてくださいね。

もしListの要素数の確認方法を忘れてしまったらこの記事を確認してください!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次