リストを使って繰り返し処理する場合は、ただの for 文を使うよりも「拡張 for 文」を使う方が便利です。
リストにおける拡張 for 文の文法は以下の通りです。
for( var 変数 : リスト名 ) 繰り返し内容 }
この拡張 for 文は次の様に使います。
import java.util.ArrayList;
public class Main{
public static void main(String[] args) {
// リスト定義
var list = new ArrayList<String>();
// 一番後に要素を追加
list.add( "hoge" );
list.add( "fuga" );
list.add( "piyo" );
// 拡張 for 文
for( var i : list ){
System.out.println( i );
}
}
}
実行すると for 内で定義した変数 i に list の要素が先頭から順番に入って表示されます。
hoge fuga piyo
マップでも同様にして拡張 for 文を使えます。
for( var 変数 : マップ名.entrySet() ) 繰り返し内容 }
ただし変数には「キー」と「値」が含まれるので、それぞれを以下の例の様にして取り出す必要があります。
import java.util.HashMap;
public class Main{
public static void main(String[] args) {
// マップ定義
var map = new HashMap<String, Integer>();
// 要素を追加
map.put( "hoge", 123 );
map.put( "fuga", 456 );
map.put( "piyo", 789 );
// 拡張 for 文
for( var i : map.entrySet() ) {
System.out.println( "キー :" + i.getKey() );
System.out.println( "値 :" + i.getValue() );
System.out.println();
}
}
}
実行すると for 内で定義した変数 i に map のキーと値が先頭から順番に入って表示されます。
キー :hoge 値 :123 キー :fuga 値 :456 キー :piyo 値 :789