2.5 拡張for制御文とArraysクラス

プログラム

F2_5

プログラムの説明

拡張for制御文

クラスF2_6のクラスメソッドprintを見てください。このメソッドは引数としてlist:Listを受け取り、拡張for制御文で繰り返しを実現しています。

拡張for制御文とは,コレクション(ある型の集合)や配列から要素を取り出しながら何らかの処理をする繰り返しです。以下の様な記述となり、普通のfor制御文と違いカウンターが必要なくなります。

for (型 変数名: コレクション) {
  命令文;
  ・
  ・
  ・
}

コレクション

コレクション(Collection)とは、ある型の集合の概念です。そのため概念上は配列もコレクションに含まれます。

また、標準ライブラリのCollectionインタフェースを示している場合もあります。この場合は、コレクション階層のルート・インタフェースです。サブインタフェースにはListインタフェースなどがあり、実装クラスにはArrayListクラスなどがあります。

Arrays

JavaDocでArraysクラスを検索しましょう。このクラスの役割はソートや検索など、配列を操作するためのさまざまなメソッドがあります。

Arrays.asListはクラスメソッドであり、可変長引数が使用されています。

可変長引数

引数の個数が可変なメソッドを定義できる記述です。

public void method1 (型... 変数名) {
  ・
  ・
  ・
}

メソッドの定義において引数の型の後に半角ドットを3個連ねて記述することで,そのメソッドを可変長引数とすることができます。