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

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

【Java入門】配列の長さを取得する方法

Pocket

Javaには配列やリストなど、複数のデータを格納するデータ構造がいくつかあります。どのデータ構造にも一長一短あり使い分けが必要ですが、どれを使っていても必要になるのがそのデータ構造の長さです。Javaでは、それぞれのデータ構造にその長さを取得するための簡単な方法が用意されています。ここでは、Javaの配列やリストでその長さを取得する方法について説明します。

配列の長さを取得する

まず初めに、配列の長さを取得する方法について説明します。Javaの配列の長さを求めるにはlengthという属性を使います。lengthの基本的な構文は以下の通りです。

lengthは配列の長さをint型で返します。非常に簡単ですね。

実行結果

list1の長さ:5

lengthとよく似た構文として、String型のlength()があります。()があるかないかだけですが、全くの別物なので間違えないようにしましょう。

lengthはfor文で配列の要素を一つずつ取り出したいときなどにも利用できます。

実行結果

1
2
3
4
5

この例ではfor文を配列の長さだけ繰り返し、配列の要素を一つずつ表示しています。この場合は、配列の長さが分かっているので、直接配列の長さだけfor文を繰り返しても問題なさそうに見えます。

しかし、直接配列の長さを指定した場合、元の配列の長さが変更になった際に、for文の条件まで変更する必要があります。この例のように短い場合はすぐに変更できますが、プログラムが長くなってくるとfor文が複数になって変更箇所が増えたり、そもそもどこにあるのかを探すのも大変になる可能性があります。

for文の条件をlengthによって取得する長さにしておけば、配列の長さが変われば自動でfor文の条件も変わるので、変更が非常に楽になります。

Listクラスの長さを取得する

Javaには配列に似たデータ構造としてListクラスがあります。Listクラスは配列と違って可変型で、いつでもサイズ変更が可能なので、配列以上に長さを取得する機会があります。Listクラスの長さを取得するにはListクラスのsizeメソッドを使います。sizeメソッドの基本的な構文は以下の通りです。

配列のlengthと同様に、リストの長さをint型で返します。Listクラスを継承しているクラスはすべてsize()が使えます。なので、ArrayListやAttributeListなどを使う場合でもsize()でリストの長さを取得することができます。

実行結果

array_listの長さ(要素追加前):0
array_listの長さ(要素追加後):3

size()でArrayListクラスのリストの長さを取得しています。リストの生成直後は0で、要素をaddしたあとには3に増えているのが分かります。

size()もlengthと同様にfor文の条件式で使うことができます。とくにListは可変型で要素を追加したり、逆に要素を削除したりすることでfor文の直前に長さが変わることもあります。なるべくsize()を使うようにしましょう。

実行結果

Java
list
size

マップの長さを取得する

配列やリストと同じくらい使われるデータ構造として、キーと値が対になったマップがあります。マップもリストと同様に可変型で、自由にサイズを変えることが出来るので、サイズを取得することがよくあります。マップの長さも、リストと同じくsize()で取得することができます。

実行結果

map1の長さ(要素追加前);0
map1の長さ(要素追加後);3

【おすすめ記事】

人気No.1言語!Javaを学べるプログラミングスクール
一番人気の言語Javaを勉強できる学習サイト8選
Javaの本・参考書の評判
【Java入門】本の貸し借りで覚える引数と戻り値(return文)

投稿者:プロスタ編集部

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

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

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

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

あわせて読みたい

関連記事

おすすめスクール

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

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