1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【Java入門】listの数を調べるときはsizeを使おう!

Pocket

JavaにおいてListを習うときには必ずこの項目がでてきます。

そうです、リストの数を確認する方法です。そんな方法いるの?とあなたは思うかもしれません。
確かに、3つや4つくらいならあなたの目視で完了しますが、これが100個や1000個のリストだったらあなたはどうしますか?
もちろん目視でやると途中どこまで数えたかわからなくなるし、これが業務で数を間違えると上司からのお叱りどころではすまない問題に発展する可能性もあります。今回は、Listにおける数(これを要素という)を確認する方法をしっかり覚えていきましょう。

リストの数を知りたいときには?

list.size()を使う

リストの数、つまり要素数を知るためには、size()を使います。
使い方のソースは以下のとおりです。

いつもなら3つのリストですが、今回は少し多めに5個にしてみました。5個程度なら目視でも十分OKですが、もしこれが何千個の数にも膨れ上がってきて、あなたにこれのリストの数合ってるかどうか確かめてと言われたときには、これどうやって確認するんだとヒヤッとしますよね。

そんなときにこの命令が重要な意味を持ってきます。
一行このソースを加えることによって、はっきりとするからです。

何故list.size()を使うのか?

リストの数が合っているのか確認するため

まずは、リストの数がきちんと合っているか確認するためです。プログラマーは、誰しもが最初テスターとしてきちんとそのプログラムが正確かどうかであるかのチェックから始まります。
もちろん、簡単なチェックの中には、このリストの数を確認させることも含まれているかもしれません。
そんなときには、list.size()を覚えておくと効率がぐっとあがり、目視で確認する必要もなくなってくるからです。

自分で数えるとミスがでるのでそれを防止するため

そしてもう一つの役割が、ミスを防止するためです。プログラムは人間よりもはるかに正直です。
というのもプログラムは上から一行一行忠実に実行していきますので、人間が目視で確認するよりも遥かにスペックが高いのです。
プログラムのソースにおいては、ListならListで固まってくれていたらいいのですが、どうしてもそのリストを編集するとなると、別の箇所でListが使われる可能性も十分にあります。

そこを目視で追うことは大変な労作業です。しかし、この一文で解決するのできっちりと理解しておきましょう。
次に、初心者にありがちなListの数を知りたいときに思わずミスをしてしまうところを紹介します。

Listの数を知りたいために初心者にありがちなミス

lengthを使う

初心者によくありがちなミスとして、ああ、どれくらいあるか調べる?length使えばいいじゃんというふうになって実際それを使ってしまうことです。
そう例えばこんな風に。

そのlengthを使いたい気持ちよくわかります。私もよくこれを使ってsizeと混乱していた時期がありました。

しかし、これは誤りなのです。何故lengthでは、エラーがでるのでしょうか。
ちなみにこれで実行した結果が以下になります。

sizeとlength何が違う?

Listか配列か

その理由は、Javaの決まり事だからです。統一してくれたらこちらも大変助かるのですが、そういうわけにはいかないようです。
実はこのlengthは配列のときにどれくらい要素があるときに使われる命令で、sizeはリストの要素を知るときに使う命令だと決まっているからです。

使い方が2通りになると、初心者は混乱しがちですが、はっきりと違いを覚えておきましょう。
わからない場合は、はいl(配列-length)、りすS(List-size)とおぼえておくと混乱せずにすぐに出てくると思います。

おわりに

今回のテーマは、リストの要素数(どれくらいのリストの数があるか)についてお届けしました。
初心者はよく配列のlengthと間違いがちになりますが、Javaの決まり事なので、Listのときはきちんとsizeを使って確認してください。
やはり、こういった命令があるおかげで、我々の目視チェックでは数え切れない量でも正確に数えてくれます。
これであなたも一歩前進!明日も頑張りましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

おすすめスクール

システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ システムアーキテクチュアナレッジでは、ITスクールとしては珍しく正規雇用かつ現役のエンジニアが講師を務めています。「責任を持ったIT教育」をテーマに、未経験者をプロフェッショナルに育てます。
ページ上部へ戻る