リストを使って繰り返し処理する場合は、ただの for 文を使うよりも「拡張 for 文」を使う方が便利です。

リストにおける拡張 for 文の文法は以下の通りです。

リストにおける拡張 for 文の文法

for( var 変数 : リスト名 )
  繰り返し内容
}

この拡張 for 文は次の様に使います。

ソース 1: リストにおける拡張 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 の要素が先頭から順番に入って表示されます。

ソース 1 の実行結果
hoge
fuga
piyo

マップでも同様にして拡張 for 文を使えます。

マップにおける拡張 for 文の文法

for( var 変数 : マップ名.entrySet() )
  繰り返し内容
}

ただし変数には「キー」と「値」が含まれるので、それぞれを以下の例の様にして取り出す必要があります。

ソース 2: マップにおける拡張 for 文の使用例
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 のキーと値が先頭から順番に入って表示されます。

ソース 2 の実行結果
キー :hoge
値 :123

キー :fuga
値 :456

キー :piyo
値 :789