foreach反復対像とIterator反復器対像
1798 ワード
package com;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class Peop {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Hello {
public static void main(String agr[]) {
Peop p = new Peop();
p.setName("yangxin");
Peop p2 = new Peop();
p2.setName("zhuxiaofei");
// 2 ArrayList 。
List<Peop> list = new ArrayList<Peop>();
list.add(p);
list.add(p2);
// foreach ,for (Peop x : list) , Peop x, list x。
for (Peop x : list) {
System.out.println(x.getName());
}
System.out.println();
// Iterator
Iterator<Peop> iter = list.iterator();
// Iterator hasNext() iter
while(iter.hasNext()){
// Iterator next() iter
Peop str = (Peop)iter.next();
System.out.println(str.getName());
}
}
}
出力:
yangxin
zhuxiaofei
yangxin
zhuxiaofei
ここではforeachを使用することはIterator反復器を使用するよりも簡単で便利であるが,foreachを使用することはIterator反復器を使用することと明らかなポテンシャルがあり,foreachは反復時に容器の操作が困難であるため,一般的に印刷(表示)に用いられ,Iterator反復器は容器内の要素を操作するのに便利であることがわかる.