Listとイテレータ・拡張 for文

みるくあいらんどっ! > ドキュメント > Java > じっくり学ぶ Java講座 [初心者向け・入門]


Listの全件出力

イテレータを使用しない場合

通常の for文を使用して全件取得を行っています。

ソースコードは以下の通り。

W201/W201.java

import java.util.ArrayList;
import java.util.List;

/**
 * Listの全件出力。
 */
public class W201 {
	
	/**
	 * メインメソッド。
	 * @param args 引数
	 */
	public static void main(String[] args) {
		List<String> months = new ArrayList<>();
		
		months.add("January");
		months.add("February");
		months.add("March");
		months.add("April");
		months.add("May");
		months.add("June");
		months.add("July");
		months.add("August");
		months.add("September");
		months.add("October");
		months.add("November");
		months.add("Decenber");
		
		for(int i = 0; i < months.size(); i ++) {
			String month = months.get(i);
			System.out.println(month);
		}
	}
}

実行結果は以下の通り。

January
February
March
April
May
June
July
August
September
October
November
Decenber

イテレータを使用した場合

イテレータを使用します。

ソースコードは以下の通り。

W202/W202.java

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * Listの全件出力(Iteratorを使用)。
 */
public class W202 {
	
	/**
	 * メインメソッド。
	 * @param args 引数
	 */
	public static void main(String[] args) {
		List<String> months = new ArrayList<>();
		
		months.add("January");
		months.add("February");
		months.add("March");
		months.add("April");
		months.add("May");
		months.add("June");
		months.add("July");
		months.add("August");
		months.add("September");
		months.add("October");
		months.add("November");
		months.add("Decenber");
		
		// イテレータを使用する
		for(Iterator<String> iterator = months.iterator(); iterator.hasNext(); ) {
			String month = iterator.next();
			System.out.println(month);
		}
	}
}

実行結果は以下の通り。

January
February
March
April
May
June
July
August
September
October
November
Decenber

Listのiteratorメソッドで、参照型ローカル変数 monthsの参照先である ArrayListインスタンスからイテレータ(Iterator)を取得します。

拡張 for文を使用した場合

拡張 for文に置き換えます。

ソースコードは以下の通り。

W203/W203.java

import java.util.ArrayList;
import java.util.List;

/**
 * Listの全件出力(拡張 for文を使用)。
 */
public class W203 {
	
	/**
	 * メインメソッド。
	 * @param args 引数
	 */
	public static void main(String[] args) {
		List<String> months = new ArrayList<>();
		
		months.add("January");
		months.add("February");
		months.add("March");
		months.add("April");
		months.add("May");
		months.add("June");
		months.add("July");
		months.add("August");
		months.add("September");
		months.add("October");
		months.add("November");
		months.add("Decenber");
		
		// 拡張 for文を使用する
		for(String month: months) {
			System.out.println(month);
		}
	}
}

実行結果は以下の通り。

January
February
March
April
May
June
July
August
September
October
November
Decenber
最終更新: 2016/05/16 , 公開: 2015/01/04
▲top