「Java8」インタフェースIteratorでループ処理を行うサンプル
環境
JavaSE1.8
Eclipse 2019-12
書式
public interface Iterator<E>
コレクションのイテレータです。Iteratorは、Java Collections FrameworkにおいてEnumerationの代わりとなります
boolean hasNext()
反復処理でさらに要素がある場合にtrueを返します。つまり、next()が例外をスローするのではなく要素を返す場合は、trueを返します。
next()
反復処理で次の要素を返します。
使用例
package com.arkgame.study;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
public class IteratorDemo {
// 配列の定義
private static String cityArr[] = { "東京", "大阪", "福岡", "横浜" };
public static void main(String[] args) {
// ArrayListのリストを生成
List<String> resLst = new ArrayList<>(Arrays.asList(cityArr));
// イテレーターをセット
Iterator<String> itr = resLst.iterator();
String result;
System.out.println("ループ処理を行う結果");
// 要素がある場合
while (itr.hasNext()) {
// 次の要素を返す
result = itr.next();
System.out.println(result);
}
}
}
package com.arkgame.study;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
public class IteratorDemo {
// 配列の定義
private static String cityArr[] = { "東京", "大阪", "福岡", "横浜" };
public static void main(String[] args) {
// ArrayListのリストを生成
List<String> resLst = new ArrayList<>(Arrays.asList(cityArr));
// イテレーターをセット
Iterator<String> itr = resLst.iterator();
String result;
System.out.println("ループ処理を行う結果");
// 要素がある場合
while (itr.hasNext()) {
// 次の要素を返す
result = itr.next();
System.out.println(result);
}
}
}
package com.arkgame.study; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; public class IteratorDemo { // 配列の定義 private static String cityArr[] = { "東京", "大阪", "福岡", "横浜" }; public static void main(String[] args) { // ArrayListのリストを生成 List<String> resLst = new ArrayList<>(Arrays.asList(cityArr)); // イテレーターをセット Iterator<String> itr = resLst.iterator(); String result; System.out.println("ループ処理を行う結果"); // 要素がある場合 while (itr.hasNext()) { // 次の要素を返す result = itr.next(); System.out.println(result); } } }
実行結果
ループ処理を行う結果
東京
大阪
福岡
横浜