リストを使って繰り返し処理する場合は、ただの 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